2017-02-09 5 views
1

У меня есть массив, что все права, как представляется, будет хорошо, массив:PHP не может манипулировать массив как массив (лопается, эхо ключа), массив в строку преобразования

var_dump($arr); 

дает это:

array(3) { 
    ["query"]=> 
    string(47) "select * from `sessions` where `id` = ? limit 1" 
    ["bindings"]=> 
    array(1) { 
    [0]=> 
    string(40) "beec3e058d85062452f025e1f2156f2fefdf87ea" 
    } 
    ["time"]=> 
    float(0.94) 
} 

но я не могу манипулировать им как массив.

echo implode("\n", $arr); 

Производит трассировки стека и "массив в строку переведет ошибки в мое приложение Laravel. В чем проблема, и как я могу это сделать, чтобы этот «массив» принимал операции, такие как implode или echo $arr['query']?

ответ

1

Вы не можете сделать imode с этим конкретным массивом, потому что у него есть массив среди его значений. Если у вас есть массив, содержащий только скалярные значения, все будет в порядке.

$arr ['query'] Работает, так как это строка, нет необходимости в преобразовании.

Предполагаете, что вам требуется строковое представление массива. Почему бы вам просто не использовать:

var_export($arr, true)?

+0

Спасибо за это наблюдение. Еще в старые времена значение привязок будет просто выводиться как «Массив», что я до сих пор неравнодушен, но да, новый способ более точен. –

Смежные вопросы