Reputation: 1540
Is it possible to do a if/else or switch statement inside an array ?
For example i have this array
'images' => array(
array(
'link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer .'.jpg'
),
),
Now i want to check if there are more than 1 images, if yes add an array. My thought was this, but it doesnt work.
<?php
$images = (string)$product->aantalfotos;
'images' => array(
switch ($images) {
case 1:
array(
'link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer .'.jpg'
),
break;
case 2:
array(
'link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer .'.jpg'
),
array(
'link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer .'_2.jpg'
),
break;
case 3:
array(
'link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer .'.jpg'
),
array(
'link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer .'_2.jpg'
),
array(
'link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer .'_3.jpg'
),
break;
}
),
Upvotes: 0
Views: 58
Reputation: 3738
You can do this:
aantalfotos;
switch($images) {
case 1:
$x = array('link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer . '.jpg');
break;
case 2:
$x = array('link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer . '.jpg',
array('link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer . '_2.jpg'));
break;
case 3:
$x = array('link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer . '.jpg',
array('link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer . '_2.jpg'),
array('link' => 'http://graphics.edc-internet.nl/500/' . (string)$product->artikelnummer . '_3.jpg'));
break;
}
if(!empty($x)) {
$images[] = ($x);
}
print_r($images);
Upvotes: 0
Reputation:
Try this code:
<?php
$images = (string)$product->aantalfotos;
for ($working = array(), $i = 1, $suffix = ''; $i <= $images; $i++)
{
$working[] = array('link' => 'http://graphics.edc-internet.nl/500/'.(string)$product->artikelnummer.$suffix.'.jpg');
$suffix = '_'.($i + 1);
}
// Use $working in 'images' => $working
?>
Upvotes: 1