Reputation: 95
$products = Array ( [products] => Array ( [0] => 12,11,10 [1] => 16,15,14 [2] => 600,103,20 ) );
foreach($products as $k=>$v)
{
$product_id = $v[0];
$product_weight_id = $v[1];
$product_quantity = $v[2];
}
output required like:
12 16 600
11 15 103
10 14 20
current output :
12,11,10 16,15,14 600,103,20
Upvotes: 0
Views: 76
Reputation: 29943
Update:
If you want to generate a different output, next example may help:
PHP:
<?php
$products = array(
'12,11,10',
'16,15,14',
'600,103,20'
);
$output = array();
foreach($products as $product) {
$a = explode(',', $product);
foreach ($a as $key => $value) {
$output[$key][] = $value;
}
}
foreach($output as $line) {
echo implode(' ', $line)."<br>";
}
?>
Output:
12 16 600
11 15 103
10 14 20
Original answer:
Next example demonstrates two possible approaches to get an output from your array.
PHP:
<?php
$products = array(
'12,11,10',
'16,15,14',
'600,103,20'
);
// Complex approach
foreach($products as $product) {
$a = explode(',', $product);
foreach ($a as $value) {
echo $value." ";
}
echo "<br>";
}
// Simple approach
foreach($products as $product) {
echo $product."<br>";
}
?>
Output:
12 11 10
16 15 14
600 103 20
12,11,10
16,15,14
600,103,20
Upvotes: 3
Reputation: 646
Using array_map()
and implode()
you can do it easily. Example:
$products = [[12,11,10], [16,15,14], [600,103,20]];
echo implode('<br />', array_map(function ($arr) { return implode(' ', $arr); }, $products));
Upvotes: 1
Reputation: 3476
Please see below code.
$products = array (
'0' => '12,11,10',
'1' => '16,15,14',
'2' => '600,103,20'
);
$productIds = array();
$productWeights = array();
$productQuantities = array();
foreach( $products as $k => $v ) {
$line = explode(',', $v );
$productIds[] = $line[0];
$productWeights[] = $line[1];
$productQuantities[] = $line[2];
}
echo implode( ' ', $productIds);
echo '<br />';
echo implode( ' ', $productWeights);
echo '<br />';
echo implode( ' ', $productQuantities);
echo '<br />';
Upvotes: 1