Jayesh Naghera
Jayesh Naghera

Reputation: 95

String array to print one by one

$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

Answers (3)

Zhorov
Zhorov

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

Janie
Janie

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));

Working demo.

Upvotes: 1

ascsoftw
ascsoftw

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

Related Questions