我有一个包含两个数组的数组。当我写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
。
我想在第二个数组中更改Visible,但它在两个数组中更改
真实代码:
$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 :(得分: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];
答案 1 :(得分: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