Вывести условие из массива - PullRequest
0 голосов
/ 26 февраля 2019

Нужна помощь, ребята, ниже массив var_dump, я очень noob в php, и я очень запутался, как это сделать, в основном все, что мне нужно, это условие

$fittin_colour_image = get_field('featured_images', get_the_ID());

Выше приведен кодс использованием ACF

var_dump($fittin_colour_image);

ниже приведен результат

array (size=2)
  0 => 
    array (size=3)
      'fitting_colour' => 
        array (size=1)
          0 => string 'Black' (length=5)
      'image' => string 'http://localhost/mysite.com/wp-content/uploads/2018/04/image-black.jpg' (length=101)
      'image_description' => string '' (length=0)
  1 => 
    array (size=3)
      'fitting_colour' => 
        array (size=1)
          0 => string 'White' (length=5)
      'image' => string 'http://localhost/mysite.com/wp-content/uploads/2018/05/image-white.png' (length=100)
      'image_description' => string '' (length=0)

Я хочу иметь условие, подобное этому

, если этот массив имеет цвет "Черный", тогда отобразите егоimage

В настоящее время я использую этот код

if ($fittin_colour_image[0]['fitting_colour'][0] == 'Black') {
echo $fittin_colour_image[0]['image'];
}

это немного хлопотно, так как каждый раз, когда я меняю условие, я меняю [0], извините, но я сейчас запутался, донНе знаю, что сказать, пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

проверить это

$fittin_colour_image = get_field('featured_images', get_the_ID());

if(!empty($fittin_colour_image)){ // Test if array not empty
    foreach ($fittin_colour_image as $image) {
        if(!empty($image['fitting_colour'][0]) && $image['fitting_colour'][0] === 'Black'){
            echo '<img src="'.$image['image'].'" alt="'.$image['image_description'].'" />';
        }
    }
}
0 голосов
/ 26 февраля 2019

Ты очень близко.Вместо жесткого кодирования индекса (0 в вашем случае) вы можете вместо этого перебрать массив и отобразить изображение:

foreach ($fittin_colour_image as $image) {
    if ($image['fitting_colour'][0] == 'Black') {
        echo $image['image'];
    }
}
...