Я пытаюсь вставить несколько массивов в один большой массив, в результате получается массив размером 2 лвл.
Я получил этот набор массивов, например:
массив
(
[cod] => ddd
[denum] => ffffffffffffffff
[descr] => ggggggg
[cant] => 3
)
массив
(
[cod] => fff
[denum] => dfgdfgdfgdfgdfg
[descr] => dfgdfgdfgdfgdfg
[cant] => 33
)
Но после массива push я получаю этот массив:
массив
(
[0] => Массив
(
[0] => ddd
[1] => ffffffffffffffff
[2] => ggggggg
[3] => 3
)
[1] => Массив
(
[0] => fff
[1] => dfgdfgdfgdfgdfg
[2] => dfgdfgdfgdfgdfg
[3] => 33
)
)
В основном это то, что я хочу сделать, НО, если вы заметите после нажатия, ключи забыли и преобразуются в числовые.
Это то, что я хочу, чтобы он выглядел так:
массив
(
[0] => Массив
(
[cod] => ddd
[denum] => ffffffffffffffff
[descr] => ggggggg
[cant] => 3
)
[1] => Массив
(
[cod] => fff
[denum] => dfgdfgdfgdfgdfg
[descr] => dfgdfgdfgdfgdfg
[cant] => 33
)
)
образец кода im с использованием:
$res_arr_values = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { array_push($res_arr_values, array_values($row)); }
Может кто-нибудь мне помочь?
Не используйте array_values в $row
$res_arr_values = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { array_push($res_arr_values, $row); }
Кроме того, предпочтительным способом добавления значения в массив является запись $array[] = $value; , не используя array_push
$res_arr_values = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $res_arr_values[] = $row; }
Дальнейшая оптимизация заключается не в вызове mysql_fetch_array($result, MYSQL_ASSOC) а в том, чтобы mysql_fetch_assoc($result) использовать mysql_fetch_assoc($result) .
$res_arr_values = array(); while ($row = mysql_fetch_assoc($result)) { $res_arr_values[] = $row; }
Я думаю, вам нужно идти
$arrayname[indexname] = $value;
http://uk.php.net/manual/en/function.array-values.php
array_values, поскольку вы используете его, фактически отбрасывает ключи
Использовать это..
$res_arr_values = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $res_arr_values[] = $row; }
сначала конвертируйте свой массив JSON
while($query->fetch()){ $col[] = json_encode($row,JSON_UNESCAPED_UNICODE); }вwhile($query->fetch()){ $col[] = json_encode($row,JSON_UNESCAPED_UNICODE); }
затем верните обратно в массив
foreach($col as &$array){ $array = json_decode($array,true); }
удачи
$res_arr_values = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $res_arr_values[] = $row; } array_push == $res_arr_values[] = $row; example <?php $stack = array("orange", "banana"); array_push($stack, "apple", "raspberry"); print_r($stack); Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry ) ?>