Вернуть исходное состояние при false

136
23 декабря 2020, 10:10
$var = 'ИванИванов';
echo stristr($var, ' ', true);

Не выведет ничего, т.к нет пробела. Как выводить переменную $var, если пробела не обнаружено?

Answer 1

если не найдено пробела, то выводить ИванИванов

$var = 'Иван Иванов';
if (strpos($var, ' ') === false) {
    echo $var;
} else {
    echo stristr($var, ' ', true);
}
Answer 2

Возможно, что я не правильно понял вопрос, но в данной ситуации достаточно сокращенной записи тернарного оператора, основываясь на том, что функция stristr() возвращает FALSE, если искомая подстрока не найдена. Т.е. создание промежуточных переменных избыточно.

echo stristr($var, ' ', true) ?: $var;
Answer 3

Коротко -

 echo (($k = stristr($var, ' ', true)) !== false)?$k:$var;

Длинно -

 if(($k = stristr($var, ' ', true)) !== false) {
     echo $k;
 } else {
     echo $var;
 }
READ ALSO
правильный синтаксис конкатенации?

правильный синтаксис конкатенации?

vs code и netbeans дружно бычат что неожидали такого от меня

132
Обмен данными между activity и fragments [дубликат]

Обмен данными между activity и fragments [дубликат]

Есть активити с таймером, который увеличивает значение переменной VarЕсть 2 фрагмента

143
Hibernate FetchType.LAZY не работает

Hibernate FetchType.LAZY не работает

У меня имеются 2 сущности связанные между собой

123
Можно ли адаптировать блок кода под Java stream API?

Можно ли адаптировать блок кода под Java stream API?

Стоит задача собрать в мапу студентов с самой большой оценкой из каждого классаКласс студент

124