Я пытаюсь вставить несколько массивов в один большой массив, в результате получается массив размером 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 ) ?>