大家好,
这是我的代码:
if ($value==0)
{
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
}
else
{
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant"),
"ITEMPURCHASED" => array ("DVD", "Book", "Comic")
);
}
正如您所看到的,仅仅因为ITEMPURCHASED元素,我就获得了整个数组代码。
有没有办法不重复整个数组代码?if可以在只添加ITEMPURCHASED元素的数组中使用吗?如果是,如何?
感谢
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value != 0){
$array['ITEMPURCHASED'] = array ("DVD", "Book", "Comic");
}
或者,如果$value不等于0,可以使用三元运算符将值设置为NULL。
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant"),
"ITEMPURCHASED" => ($value != 0) ? array ("DVD", "Book", "Comic") : null
);
像这样尝试
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if($val != 0) {
$array['ITEMPURCHASED'] = => array ("DVD", "Book", "Comic");
}
只需将公共数组从循环中取出并检查条件,如果为true,则将剩余的基于ITEMPURCHASED的数组附加到主数组中。
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if($value != 0) {
$array["ITEMPURCHASED"] = array ("DVD", "Book", "Comic");
}
是的,您可以通过以下代码来完成:
$array = $array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value != 0)
$array["ITEMPURCHASED"] = array ("DVD", "Book", "Comic");
}
也可以使用PHP的array_merge
函数。则代码为:
if ($value != 0)
$arrar1 = array("ITEMPURCHASED" => array ("DVD", "Book", "Comic"));
$array = array_merge($array,$array1);
}
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value!=0)
{
$array["ITEMPURCHASED"] = array ("DVD", "Book", "Comic");
}
否,不能在数组内部使用if。您可以根据数组构造函数中的某些条件使用三元运算符来更改值,但由于您根本不想设置项,因此这也不是一个选项。你可以这样做:
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value ! =0)
$array['ITEMPURCHASED'] = array ("DVD", "Book", "Comic");
首先创建数组,就像if的第一部分一样(在if之前复制该代码)
然后使用:
if ($value != 0) {
$array['ITEMPURCHASED'] = ...;
}
你可以这样做
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value!=0)
{
$array["ITEMPURCHASED"] = array ("DVD", "Book", "Comic");
}