PHP 在数组中的元素之间插入元素
PHP insert element between elements in an array
我有 PHP 代码生成动态 JSON 数组,如下所示:
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"key":"user_email","relation":"=","value":"email@gmail.com"}
我需要调整它以在每个元素之间插入一个元素,如下所示:
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"operator":"OR"},
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"operator":"OR"},
{"key":"user_email","relation":"=","value":"email@gmail.com"}
这是我当前的 PHP 生成 JSON:
的代码
$jsonData = array();
$allStaffInit = mysql_query("SELECT * FROM users");
while ($staffrow = mysql_fetch_object($allStaffInit)){
$object = new stdClass();
$object->key = "user_email";
$object->relation = "=";
$object->value = $staffrow->value;
$jsonData[] = $object;
}
您可以在 while 循环之前创建分隔符对象。
$or = (object) ['operator' => 'OR'];
然后在添加 $object
.
之后将其添加到循环中的数组中
while ($staffrow = mysql_fetch_object($allStaffInit)){
$object = new stdClass();
$object->key = "user_email";
$object->relation = "=";
$object->value = $staffrow->value;
$jsonData[] = $object;
$jsonData[] = $or; // << here
}
在你json_encode
之前,弹出最后一项后多余的那个。
array_pop($jsonData);
我有 PHP 代码生成动态 JSON 数组,如下所示:
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"key":"user_email","relation":"=","value":"email@gmail.com"}
我需要调整它以在每个元素之间插入一个元素,如下所示:
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"operator":"OR"},
{"key":"user_email","relation":"=","value":"email@gmail.com"},
{"operator":"OR"},
{"key":"user_email","relation":"=","value":"email@gmail.com"}
这是我当前的 PHP 生成 JSON:
的代码$jsonData = array();
$allStaffInit = mysql_query("SELECT * FROM users");
while ($staffrow = mysql_fetch_object($allStaffInit)){
$object = new stdClass();
$object->key = "user_email";
$object->relation = "=";
$object->value = $staffrow->value;
$jsonData[] = $object;
}
您可以在 while 循环之前创建分隔符对象。
$or = (object) ['operator' => 'OR'];
然后在添加 $object
.
while ($staffrow = mysql_fetch_object($allStaffInit)){
$object = new stdClass();
$object->key = "user_email";
$object->relation = "=";
$object->value = $staffrow->value;
$jsonData[] = $object;
$jsonData[] = $or; // << here
}
在你json_encode
之前,弹出最后一项后多余的那个。
array_pop($jsonData);