我有一个关联数组,它是使用数据库中的值动态生成的。当我打印整个数组时,当我们输入print_r($ array)时,它会给出类似的结果。
Array ( [95a5c80811239526fb75cbf31740cc35] => Array ( [product_id] => 2324) )
当我这样回声时,
echo $array['95a5c80811239526fb75cbf31740cc35']['product_id'];
它给了我产品ID。 但问题是,代码&#;; 95a5c80811239526fb75cbf31740cc35'每次动态变化。无论此代码如何,我都希望回显产品ID。
我试过
$array[]['product_id'];
$array['']['product_id'];
但不行。谁能帮我?如果您有任何疑问,请问我。
答案 0 :(得分:2)
在这种情况下,您可以使用reset()
:
$array = array(
'95a5c80811239526fb75cbf31740cc35' => array( // dynamic
'product_id' => 2324
),
);
$value = reset($array); // set pointer to first element
echo $value['product_id']; // 2324
答案 1 :(得分:1)
假设代码始终是数组中的第一个元素:
$array[0]['product_id'];
如果您共同需要所有产品ID:
foreach($array as $product){
$productIds[] = $product['product_id'];
}
// $productIds is now what $array was, but without the codes, so the product_id's are the first elements.
答案 2 :(得分:1)
您可以为此使用每个,以便您可以获得产品ID
的值 $array = Array ( [95a5c80811239526fb75cbf31740cc35] => Array ( [product_id] => 2324) )
foreach($array as $product){
echo $product['product_id'];
}
这会得到你想要的o / p
答案 3 :(得分:1)
根据您的具体情况,几乎没有可能的解决方案:
$array = array_shift(array_values(
Array(
'95a5c80811239526fb75cbf31740cc35' =>
Array(
'product_id' => 2324
)
)));
echo $array['product_id']; // 2324
另一种解决方案,可能更有效:
echo array_shift(array_slice($array, 0, 1)); // 2324
对于 PHP 5.4 + ,你可以选择:
echo array_values($array)[0]; // 2324
答案 4 :(得分:1)
如果您使用关联数组遇到问题,则可以先将其转换为数字,如下所示
$arr=array( 'first' => array( 'product_id' => 2324) );
$arrr=array_values($arr);
echo $arrr[0]['product_id'];
输出:
2324
希望这有助于了解array_values go here
答案 5 :(得分:-1)
$array[0]['product_id'];
应该做的伎俩。