За последние 24 часа нас посетили 23857 программистов и 1722 робота. Сейчас ищут 1772 программиста ...

Массив, заменить значения

Тема в разделе "PHP для новичков", создана пользователем ldj, 6 ноя 2018.

  1. ldj

    ldj Новичок

    С нами с:
    9 окт 2018
    Сообщения:
    18
    Симпатии:
    0
    Как можно упростить?
    PHP:
    1. if($array[0]["text"] == "камень"){$array[0]["text"] = "бумага";}
    2. elseif($array[1]["text"] == "камень"){$array[1]["text"] = "бумага";}
    3. elseif($array[2]["text"] == "камень"){$array[2]["text"] = "бумага";}
    4. elseif($array[3]["text"] == "камень"){$array[3]["text"] = "бумага";}
     
  2. Catrinblaidd

    Catrinblaidd Новичок

    С нами с:
    21 окт 2018
    Сообщения:
    13
    Симпатии:
    7
    PHP:
    1. foreach ($array as $key => $value) {
    2.   if ($value['text'] == 'камень') {
    3.     $array[$key]['text'] = 'бумага';
    4.   }
    5. }
     
  3. ldj

    ldj Новичок

    С нами с:
    9 окт 2018
    Сообщения:
    18
    Симпатии:
    0
    Благодарствую :)
     
  4. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Приучайтесь использовать строгое сравнение ===, нестрогое == чревато багами в будущем.
     
  5. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Walk, как по вашему, зачем разработчики PHP сделали "хорошее" строгое и "плохое, забагованное" нестрогое сравнение?
     
  6. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    Сделали чтобы было

    '1' == 1 // true

    Чтобы не заставлять никого $_GET и $_POST из строк никуда вручную не перегонять.

    Но вдобавок получили

    'abc' == 0 // true

    Ещё деление на ноль они сделали возвращающим false вместо кидания ошибки.
     
    Walk и Fell-x27 нравится это.
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.584
    Симпатии:
    1.762
    PHP:
    1. <?php
    2. echo 1 / 0;
    3.  
    4. ?>
    E_WARNING : type 2 -- Division by zero -- at line 2
    INF
     
    Fell-x27 нравится это.