explode
et implode
fonctionnent comme prévu. Le premier est utilisé pour diviser une chaîne et renvoyer un tableau avec les morceaux, par exemple
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
C'est pourquoi vous obtenez ceci :Array ( [0] => Array ( [0] => Semelle Premium Shore 30 ) [1] => Array ( [0] => G Diabetic Premium fermée Sandale Noire taille 09 ) ) lorsque vous print $prdtarray (echo print_r($prdtarray);
). Chaque fois que vous appelez $prdtarray[] = explode(",", $row1->product_name);
vous créez un nouveau tableau avec un élément (un seul élément car $row1->product_name
ne contient aucun ",") et en l'ajoutant à $prdtarray
.
implode
est utilisé pour joindre des éléments de tableau avec une chaîne, par exemple
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
Dans votre code puisque vous avez deux tableaux à l'intérieur de $prdtarray
le résultat de $product
est
Array,Array
Ainsi, vous pouvez enregistrer le $row1->product_name
value dans un tableau, puis utilisez implode
pour créer un résultat de valeurs séparées par des virgules. Le code ressemble à ceci :
$this->db->select("product_name")
->from('sale_items')
->where('sale_items.sale_id',4221);
$q1 = $this->db->get();
if ($q1->num_rows() > 0) {
foreach (($q1->result()) as $row1) {
$prdtarray[] = $row1->product_name;
}
$product=implode(',',$prdtarray);
echo $product ; // Insole Premium Shore 30,G Diabetic Premium closed Sandal Black size 09