看看这段代码:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
我正在寻找这样的东西:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
有函数来做这个吗?(因为array_push不能这样工作)
看看这段代码:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
我正在寻找这样的东西:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
有函数来做这个吗?(因为array_push不能这样工作)
当前回答
我写了一个简单的函数:
function push(&$arr,$new) {
$arr = array_merge($arr,$new);
}
这样我就可以很容易地“upsert”新元素:
push($my_array, ['a'=>1,'b'=>2])
其他回答
有点晚了,但如果你不介意嵌套数组,你可以采用这种方法:
$main_array = array(); //Your array that you want to push the value into
$value = 10; //The value you want to push into $main_array
array_push($main_array, array('Key' => $value));
澄清一下, 如果你输出json_encode($main_array),看起来像[{"Key":"10"}]
这是可能对你有用的解
Class Form {
# Declare the input as property
private $Input = [];
# Then push the array to it
public function addTextField($class,$id){
$this->Input ['type'][] = 'text';
$this->Input ['class'][] = $class;
$this->Input ['id'][] = $id;
}
}
$form = new Form();
$form->addTextField('myclass1','myid1');
$form->addTextField('myclass2','myid2');
$form->addTextField('myclass3','myid3');
当你倾倒的时候。结果是这样的
array (size=3)
'type' =>
array (size=3)
0 => string 'text' (length=4)
1 => string 'text' (length=4)
2 => string 'text' (length=4)
'class' =>
array (size=3)
0 => string 'myclass1' (length=8)
1 => string 'myclass2' (length=8)
2 => string 'myclass3' (length=8)
'id' =>
array (size=3)
0 => string 'myid1' (length=5)
1 => string 'myid2' (length=5)
2 => string 'myid3' (length=5)
我想把我的答案补充到表格中,如下:
//connect to db ...etc
$result_product = /*your mysql query here*/
$array_product = array();
$i = 0;
foreach ($result_product as $row_product)
{
$array_product [$i]["id"]= $row_product->id;
$array_product [$i]["name"]= $row_product->name;
$i++;
}
//you can encode the array to json if you want to send it to an ajax call
$json_product = json_encode($array_product);
echo($json_product);
希望这能帮助到一些人
例子array_merge()……
$array1 = array("color" => "red", 2,4); $ array2 =阵列(“a”、“b”、“颜色”= >“绿色”、“形状”= >“梯形”,4); $result = array_merge($array1, $array2); print_r(结果);
阵列([color] = >绿色,[0]= > 2,[1]= > 4,[2]= >,[3]= > b(形状)= >梯形,[4]= > 4,)
array_push($arr, ['key1' => $value1, 'key2' => value2]);
这工作得很好。 在数组中创建键及其值