大家好,
这是我的代码:
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元素吗?如果是这样,怎么样?
非常感谢
答案 0 :(得分:11)
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value != 0){
$array['ITEMPURCHASED'] = array ("DVD", "Book", "Comic");
}
或者,如果$ value不等于0,则可以使用ternary operator将值设置为NULL。
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant"),
"ITEMPURCHASED" => ($value != 0) ? array ("DVD", "Book", "Comic") : null
);
答案 1 :(得分:1)
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if($value != 0) {
$array["ITEMPURCHASED"] = array ("DVD", "Book", "Comic");
}
答案 2 :(得分:1)
试试这个
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if($val != 0) {
$array['ITEMPURCHASED'] = => array ("DVD", "Book", "Comic");
}
只需将公共数组放出循环并检查条件,如果为true,则将剩余的基于ITEMPURCHASED的数组附加到主数组。
答案 3 :(得分:1)
是的,你可以通过以下代码来实现:
$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);
}
答案 4 :(得分:0)
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value!=0)
{
$array["ITEMPURCHASED"] = array ("DVD", "Book", "Comic");
}
答案 5 :(得分:0)
不,你不能在数组内部使用。您可以使用三元运算符来根据数组构造函数中的某些条件来更改值,但是因为您根本不想设置任何不可选的项。你可以这样做:
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value ! =0)
$array['ITEMPURCHASED'] = array ("DVD", "Book", "Comic");
答案 6 :(得分:0)
首先创建数组,如if的第一部分(复制if之前的代码)
然后使用:
if ($value != 0) {
$array['ITEMPURCHASED'] = ...;
}
答案 7 :(得分:0)
你可以这样做
$array = array(
"NAMES" => array("John", "Sara", "Mark"),
"LASTNAMES" => array ("Smith", "Lockwood", "Grant")
);
if ($value!=0)
{
$array["ITEMPURCHASED"] = array ("DVD", "Book", "Comic");
}