मुझे एकाधिक मानों की एक सूची आउटपुट करना है। ये मान किसी सरणी का हिस्सा नहीं हैं। मैं इसे इस तरह कर रहा हूँ:

$value_1 = get_field('value_1');
$value_2 = get_field('value_2');
$value_3 = some_other_function('value_3');
$value_4 = another_function('value_4', 'one_more_param');

echo '<ul>';

if ($value_1) :
  echo '<li>' . $value_1 . '</li>';
endif;

if ($value_2) :
  echo '<li>' . $value_3 . '</li>';
endif;

if ($value_3) :
  echo '<li>' . $value_3 . '</li>';
endif;

if ($value_4) :
  echo '<li>' . $value_4 . '</li>';
endif;

echo '</ul>';

मेरे पास लगभग 30 मान हैं। क्या इसे आउटपुट करने का कोई तेज़, क्लीनर तरीका है?

0
CyberJ 26 जुलाई 2019, 17:00

2 जवाब

सबसे बढ़िया उत्तर

अपने मानों को सरणी में एकत्रित करें और इस सरणी पर पुनरावृति करें:

$values = [
    get_field('value_1'),
    get_field('value_2'),
    some_other_function('value_3'),
    another_function('value_4', 'one_more_param'),
];
echo '<ul>';
foreach ($values as $value) {
    if ($value) {
        echo '<li>' . $value . '</li>';
    }
}
echo '</ul>';
2
u_mulder 26 जुलाई 2019, 17:07

यह जांचने के लिए एक फ़ंक्शन बनाएं कि क्या उसे आइटम प्रदर्शित करने की आवश्यकता है, फिर हर बार मान पास करें ...

function displayListItem( $value ) {
    if ( $value )   {
        echo '<li>'.$value.'</li>';
    }
}
echo '<ul>';
displayListItem(get_field('value_1'));
displayListItem(get_field('value_2'));
displayListItem(some_other_function('value_3'));
displayListItem(another_function('value_4', 'one_more_param'));
echo '</ul>';
2
Nigel Ren 26 जुलाई 2019, 17:23