Php взрывает строку, только если строка содержит ‘.’

У меня это взрывается (со списком):

$dm = "blablabla.ff";
list($d, $l) = explode('.', $dm, 2);

Теперь, я хочу, чтобы взрыв будет вырезать строку, только если строка содержит .
поскольку список будет возвращать ошибку, если строка не содержит., ошибка, как это: Undefined offset: 1.

Как я могу сделать этот короткий путь?

Метки

3 ответа

  1. При взрыве $dm = "blablabla.ff";вы получаете два массива.
    один за $ d и один за $l.

    $d = 'blablabla';
    $l = 'ff';
    

    При взрыве $dm = "blablablaff";вы получаете один массив.
    Один за $ d и никто за $l.

    $d = 'blablablaff';
    $l = null;
    

    Теперь, если у вас нет массивов для заполнения списка ($l), это приведет к ошибке.

  2. Вы можете попробовать это:

        <?php
            $dm     = "blablabla.ff";
            $d      = null;
            $l      = null;
    
            if( stristr($dm, ".")){
                list($d, $l) = explode('.', $dm, 2);
            }       
    
            var_dump($d, $l);