如何在php中创建变量列表


How to create a list of variables in php?

我很抱歉提出了这个愚蠢的问题,但我不明白如何创建一个将在if/else循环中使用的变量列表。我有一个变量$category_id和这个变量的不同值(1,2,3等)。我想做一个类似的陈述

if (isset($category_id) && $category_id == '1') {
some code here
}

但我需要指定这个变量的更多值,比如

if (isset($category_id) && $category_id == '1,2,5,11') {
some code here
}

我该怎么做?

定义要检查的选项,然后使用in_array检查是否使用了其中一个:

$categoryIds = array(1, 2, 5, 11);
if (isset($categoryId) && in_array($categoryId, $categoryIds)) {
    // some code here
}

这样,当添加更多的ID时,只有数组比代码更大。

使用此:

if (isset($category_id) && (($category_id == '1')||($category_id == '2')||($category_id == '5')||($category_id == '11'))) {
some code here
}

switch()

示例:

<?php
switch($category_id) {
    case 1:
        someCode();
        break;
    case 2:
        someCode();
        break;
    default:
        someCodeForIdsWhichAreNotOnAnyCase();
        break;
}

您可以设置arrayloopswitch / case语句。

例如

$category_id = array('1','2','5','11');
for ($i = 0; $i < count($category_id); $i++) {
switch ($category_id[$i]) {
case ('1') : [CODE HERE]; break;
case ('2') : [CODE HERE]; break;
case ('5') : [CODE HERE]; break;
case ('11') : [CODE HERE]; break;
}
}