我正在尝试显示没有关键项的数组。只想显示没有键的数组值。 这是我试过的示例代码
$myList = array(
0 =>array(
"product_id"=> 8085
),
1 =>array(
"product_id"=> 8087
),
2 =>array(
"product_id"=> 8086
),
3 =>array(
"product_id"=> 8042
),
);
$newList = array();
foreach($myList as $listItem) {
$newList[] = $listItem['product_id'];
}
$a=array();
$a= array_values($newList);
print_r($a);
我想要这样的数组
$productIds = array(8085,8087,8086,8042);
以下是我的示例代码link
答案 0 :(得分:1)
您正在寻找array_column(自PHP 5.5起可用):
$productIds = array_column($myList, 'product_id');
这会给你:
var_export($productIds);
array (
0 => 8085,
1 => 8087,
2 => 8086,
3 => 8042,
)
这正是你想要的:
var_dump($productIds === array(8085,8087,8086,8042)); // bool(true)
答案 1 :(得分:1)
数组总是有键。如果你想要一个数组,你可以得到所有的值,把它们变成一个逗号分隔的字符串,然后把它放到一个数组中:
$productIds = [implode(',', array_column($myList, 'product_id'))];
var_dump($productIds);
// RESULT:
// array (size=1)
// 0 => string '8085,8087,8086,8042' (length=19)
答案 2 :(得分:0)
print_r
函数将输出密钥。即使你使用array_values
,数组仍然有索引作为键。
只需使用echo
和implode
手动输出数组(implode将使用第一个参数字符将数组值连接成一个字符串):
echo implode(',', $newList);