j'essaie de pousser plusieurs tableaux dans 1 grand tableau, ce qui donne un tableau de 2 niveaux.
J'ai eu cet ensemble de tableaux par exemple:
Tableau ( [Cod] => ddd [Denum] => ffffffffffffffff [Descr] => ggggggg [Cant] => 3 ) .Array ( [Cod] => fff [Denum] => dfgdfgdfgdfgdfgdfg [Descr] => dfgdfgdfgdfgdfg [Cant] => 33 )
Mais, après le tableau Push, je reçois ce tableau:
Array ( [0] => Array ( [0] => ddd [1] => fffffffffffffffff [2] => ggggggg [3] => 3 ) [1] => Tableau ( [0] => fff [1] => dfgdfgdfgdfgdfgdf [2 ] => dfgdfgdfgdfgdfg [3] => 33 ) )
En gros, c’est ce que je veux faire, MAIS, si vous remarquez qu’après la poussée, les touches sont oubliées et converties en chiffres.
Voici ce que je veux qu'il ressemble à:
Array ( [0] => Array ( [Cod] => ddd [Denum] => ffffffffffffffff [Descr] => ggggggg [cant] => 3 ) [1] => Tableau ( [cod] => fff [denum] => dfgdfgdfgdfgdfg [descr ] => dfgdfgdfgdfgdfg [cant] => 33 ) )
exemple de code im using:
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
array_Push($res_arr_values, array_values($row));
}
Est-ce que quelqu'un peut m'aider avec ça?
N'utilisez pas array_values
sur votre $row
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
array_Push($res_arr_values, $row);
}
En outre, le moyen préféré pour ajouter une valeur à un tableau est d'écrire $array[] = $value;
, sans utiliser array_Push
.
$res_arr_values = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$res_arr_values[] = $row;
}
Et une optimisation supplémentaire consiste à ne pas appeler mysql_fetch_array($result, MYSQL_ASSOC)
mais à utiliser mysql_fetch_assoc($result)
directement.
$res_arr_values = array();
while ($row = mysql_fetch_assoc($result))
{
$res_arr_values[] = $row;
}
Je pense que vous devez aller pour
$arrayname[indexname] = $value;
convertissez d'abord votre tableau en JSON
while($query->fetch()){
$col[] = json_encode($row,JSON_UNESCAPED_UNICODE);
}
puis reconvertissez-le en tableau
foreach($col as &$array){
$array = json_decode($array,true);
}
bonne chance
Toutes ces réponses sont bien cependant quand on y pense ....
Parfois, l'approche la plus simple sans sophistication fera l'affaire plus rapidement et sans fonctions spéciales.
Nous avons d’abord défini les tableaux:
$arr1 = Array(
"cod" => ddd,
"denum" => ffffffffffffffff,
"descr" => ggggggg,
"cant" => 3
);
$arr2 = Array
(
"cod" => fff,
"denum" => dfgdfgdfgdfgdfg,
"descr" => dfgdfgdfgdfgdfg,
"cant" => 33
);
Ensuite, nous les ajoutons au nouveau tableau:
$newArr[] = $arr1;
$newArr[] = $arr2;
Voyons maintenant notre nouveau tableau avec toutes les clés:
print_r($newArr);
Il n'est pas nécessaire d'utiliser SQL ou des fonctions spéciales pour créer un nouveau tableau multidimensionnel ... n'utilisez pas de réservoir pour vous rendre à pied.
Utilisez ceci..
$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
)
?>