Форматирование php echo с нулевыми значениями - PullRequest
2 голосов
/ 14 апреля 2019

Допустим, у меня есть массив php $t с 5 элементами в нем.В демонстрационных целях назовем это $t = [a,b,c,d,e].

Я хочу echo для всех элементов в скобках, например: (a, b, c, d, e).Тем не менее, я хочу, чтобы этот формат скобок сохранялся, если в массиве есть нулевые значения $t.

Например, если c и d равны нулю в массиве, должно появиться эхо (a, b, e).Какой эффективный способ сделать это, не пробуя каждую возможную перестановку (это невозможно при больших размерах массива).

Я пытался:

echo "("   
for($j=0; $j<5; $j++){
    if(!empty($t[j])){
        echo " $t[j], ";
    }
}
echo ")"

Но это оставляет запятую в конце, и даже тогда я не уверен, что она учитывает все возможные случаи.Заранее спасибо!

1 Ответ

2 голосов
/ 15 апреля 2019

Это работает довольно хорошо:

<?php

function is_not_null($v) { return !is_null($v); }
$t = ['a', 'b', null, null, 'e'];
echo '('.implode(',', array_filter($t, 'is_not_null')).')';

Результат:

(a, b, e)

...