2014-09-25 45 views
0

我有一個包含兩個數組的數組。當我寫var_dump($array)我怎麼能從陣列中取第一個數組

array(7) { 
    ["Article"]=> 
    array(1) { 
    [0]=> 
    string(8) "39-746У" 
    } 
    ["Visible"]=> 
    array(1) { 
    [0]=> 
    string(1) "1" 
    } 
} 
array(7) { 
    ["Article"]=> 
    array(1) { 
    [0]=> 
    string(6) "12-003" 
    } 
    ["Visible"]=> 
    array(1) { 
    [0]=> 
    string(1) "1" 
    } 
} 

當我寫var_dump($array[0])我得到NULL。 我想第二陣列中更改可見,但在兩個數組

改變

真正的代碼:

$sql2="select tblCurrencies.name as name,Price,tblArticleInfo.Name as Name,ArticleID,CategoryID,Article,Visible from tblArticles,tblArticleInfo,tblCurrencies where tblArticleInfo.ArticleID=tblArticles.Id and tblArticles.Id='{$tovar_id}' and tblArticles.currencyID=tblCurrencies.id"; 
$Array2=query_result_as_rows($sql2,$conn); 
+0

你有兩個不同這裏是PHP數組的類型,帶有鍵值對的關聯數組和一個非關聯數組。請閱讀[PHP數組文檔](http://php.net/manual/en/language.types.array.php)以獲取有關如何訪問它們的信息。 – 2014-09-25 09:41:26

+0

您還應該發佈您用來解決問題的代碼。 – 2014-09-25 10:12:35

回答

0

這裏有兩種不同的數組,一個帶鍵值對的關聯數組和一個按數字索引的非關聯數組。

關聯數組:在關聯數組

$a_array = array(
    "Article" => "foo", 
    "Visible" => " bar", 
); 

訪問數據:

echo $a_array['Article']; 
// prints 'foo' 

迭代通過關聯數組:

foreach ($a_array as $key => $value) { 
    echo "$key, $value; "; 
} 
// prints 'Article, foo; Visible, bar' 
//   

甲數字索引數組:

$num_array = ('pip', 'pap', 'pop'); 

在數字索引數組訪問項目:

echo $num_array[0] . ", " . $num_array[2]; 
// prints 'pip, pop' 

迭代通過數組:

foreach ($num_array as $num) { 
    echo "$num! "; 
} 
// prints "pip! pap! pop! " 

你有一個內含數字索引數組的關聯數組:

$array = array(
    'Article' => array('39-746У'), 
    'Visible' => array('1') 
); 

var_dump$array

array(2) { 
    ["Article"]=> 
    array(1) { 
    [0]=> 
    string(8) "39-746У" 
    } 
    ["Visible"]=> 
    array(1) { 
    [0]=> 
    string(1) "1" 
    } 
} 

訪問數據,您需要將兩種方法結合起來:

echo $array['Article'][0]; 
// prints "39-746У" 

要通過數組迭代:

foreach ($array as $key => $value) { // this is the outer associative array 
    echo "outer array key: $key...\n"; // $value is the inner array 
    foreach ($value as $v) { // $value is a numerically-indexed array 
     echo "inner array item: $v\n"; 
    } 
} 

輸出:

outer array key: Article 
inner array item: 39-746У 
outer array key: Visible 
inner array item: 1 
+0

感謝您的詳細資料! – 2014-09-25 11:33:49

0

這裏有一個解決方法:

$array = array(...); 
$array_keys = array_keys($array); 
$array_first_key = $array_keys[0]; 
var_dump($array[$array_first_key]); 

也:

var_dump(array_shift($array)); 

使用php 5.4+

array_values($array)[0]; 
+0

我仍然從兩個數組中獲得值 – 2014-09-25 09:39:16

+0

請發佈真正的PHP代碼,而不是var_dumped。 – 2014-09-25 09:41:18

+0

我剛剛發佈 – 2014-09-25 09:48:47

相關問題