如何在php中创建变量列表?

时间:2016-07-29 00:07:03

标签: 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
}

我该怎么做?

4 个答案:

答案 0 :(得分:4)

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

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

这样,当您添加更多ID时,只有数组变大而不是代码。

答案 1 :(得分:0)

使用此:

Test t = new Test() { Attr = "cat" };       

XmlSerializer xmlSerializer = new XmlSerializer(typeof(Test));      
StringWriter w = new StringWriter();
xmlSerializer.Serialize(w, t);  
w.ToString().Dump();

答案 2 :(得分:0)

switch()

示例:

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

答案 3 :(得分:0)

您可以设置arrayloop以及switch / case声明。

<强> e.g。

$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;
}

}