複数の配列を1つの大きな配列にプッシュしようとしていますが、2 lvl配列になります。
たとえば、この配列セットを入手しました。
Array ( [cod] => ddd [denum] => ffffffffffffffff [descr] => ggggggg [cant] => 3 ) Array ( [cod] => fff [denum] => dfgdfgdfgdfgdfg [descr] => dfgdfgdfgdfgdfg [cant] => 33 )
しかし、配列プッシュの後、私はこの配列を取得します:
Array ( [0] => Array ( [0] => ddd [1] => ffffffffffffffff [2] => ggggggg [3] => 3 ) [1] =>配列 ( [0] => fff [1] => dfgdfgdfgdfgdfg [2] => dfgdfgdfgdfgdfg [3] => 33 ) )
基本的にこれは私がやりたいことですが、プッシュ後に気付いた場合、キーは忘れられ、数値に変換されます。
これは私がそれがどのように見えるようにするかです:
Array ( [0] => Array ( [cod] => ddd [denum] => ffffffffffffffff [descr] => ggggggg [cant] => 3 ) [1] =>配列 ( [cod] => fff [denum] => dfgdfgdfgdfgdfg [descr] => dfgdfgdfgdfgdfg [cant] => 33 ) )
次を使用したサンプルコード:
$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)
を直接使用することです。
_$res_arr_values = array();
while ($row = mysql_fetch_assoc($result))
{
$res_arr_values[] = $row;
}
_
あなたは行かなければならないと思います
$arrayname[indexname] = $value;
最初に配列をJSONに変換します
while($query->fetch()){
$col[] = json_encode($row,JSON_UNESCAPED_UNICODE);
}
その後、配列に変換します
foreach($col as &$array){
$array = json_decode($array,true);
}
がんばろう
しかし、それについて考えるとき、これらの答えはすべて素晴らしいです。
洗練されていない最も単純なアプローチは、特別な機能を使用せずにトリックをより迅速に行う場合があります。
最初に配列を設定します。
$arr1 = Array(
"cod" => ddd,
"denum" => ffffffffffffffff,
"descr" => ggggggg,
"cant" => 3
);
$arr2 = Array
(
"cod" => fff,
"denum" => dfgdfgdfgdfgdfg,
"descr" => dfgdfgdfgdfgdfg,
"cant" => 33
);
次に、それらを新しい配列に追加します。
$newArr[] = $arr1;
$newArr[] = $arr2;
すべてのキーを持つ新しい配列を見てみましょう:
print_r($newArr);
新しい多次元配列を作成するためにsqlや特別な関数は必要ありません。..タンクを使用して歩ける場所に到達しないでください。
これを使って..
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$res_arr_values[] = $row;
}
$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
)
?>