用我的代码:
$sql = "SELECT number.phone_number FROM number, ordered_number WHERE ordered_number.number_id=number.id AND ordered_number.order_id=$id";
$connection = \Yii::$app->getDb();
$command = $connection->createCommand($sql);
$numery = $command->queryAll();
我得到的数组看起来像这样:
array (size=3)
0 =>
array (size=1)
'phone_number' => string '546732354' (length=9)
1 =>
array (size=1)
'phone_number' => string '565345456' (length=9)
2 =>
array (size=1)
'phone_number' => string '456557546' (length=9)
我想得到简单的数组,其中第一个元素只是数字(这里是字符串),没有名称'phone_number'和主数组中的其他1元素数组。当我尝试在这个数组上做foreach时,它告诉我我使用“非法偏移类型”。我发现这意味着我正在使用对象而不是数组,但这是一个数组,而不是一个对象,我不知道该怎么做。
答案 0 :(得分:3)
更简单(但对于php5.5和php7):
$numery = array_column(
$command->queryAll(),
'phone_number'
);
答案 1 :(得分:1)
使用以下循环获得所需结果
$numery = $command->queryAll();
$number_arr = array();
foreach($numery as $number)
{
array_push($number_arr,$number['phone_number']);
}
print_r($number_arr);