2014-09-25 48 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

相关问题