PHP 具有多个具有相同键的数组的多维数组?
PHP Multidimensional Array with multiple array with same keys?
我一直在尝试多种方法,但我一生都无法让它发挥作用。我开始认为这在这一点上可能是不可能的。
所以我有一个 SOAP API 我也发送这个数组。下面是我目前可以使用的代码,但不会发送多个值。它只使用最后一个,因为它会覆盖前一个。
查看 this thread,我正在做的应该有用吗?
$my_array['sn'] = "234234232";
$my_array['arrayparams'] = array(
'Param' => array( 'Name' => 'sending_key', 'Value' => 'blah',),
'Param' => array( 'Name' => 'sending_key2', 'Value' => '2',),
);
$my_array['push'] = true;
$my_array['endsession'] = false;
returns:
array(4) {
["sn"]=>
string(12) "234234232"
["arrayparams"]=>
array(1) {
["Param"]=>
array(2) {
["Name"]=>
string(61) "sending_key2"
["Value"]=>
string(1) "2"
}
}
["push"]=>
bool(true)
["endsession"]=>
bool(false)
}
我只是有时间让它发送这个:
array(4) {
["sn"]=>
string(12) "234234232"
["arrayparams"]=>
array(2) {
["Param"]=>
array(2) {
["Name"]=>
string(61) "sending_key"
["Value"]=>
string(1) "blah"
}
["Param"]=>
array(2) {
["Name"]=>
string(61) "sending_key2"
["Value"]=>
string(1) "2"
}
}
["push"]=>
bool(true)
["endsession"]=>
bool(false)
}
'Param' 数组非常严格,必须有这个值,我不能更改为 'Param2' 来让它工作。提前致谢!
问题是您不能在多个密钥中设置密钥 'Param'。
您需要将 'Param' 定义为实际数组,而不是数组中的多个键。
像这样...
$my_array['Param'] = [
['Name' => 'sending_key', 'Value' => 'blah'],
['Name' => 'sending_key2', 'Value' => '2']
];
你能做到吗?
$my_array['arrayparams'] = array(
array('Param' => array( 'Name' => 'sending_key', 'Value' => 'blah',)),
array('Param' => array( 'Name' => 'sending_key2', 'Value' => '2',)),
);
我一直在尝试多种方法,但我一生都无法让它发挥作用。我开始认为这在这一点上可能是不可能的。
所以我有一个 SOAP API 我也发送这个数组。下面是我目前可以使用的代码,但不会发送多个值。它只使用最后一个,因为它会覆盖前一个。
查看 this thread,我正在做的应该有用吗?
$my_array['sn'] = "234234232";
$my_array['arrayparams'] = array(
'Param' => array( 'Name' => 'sending_key', 'Value' => 'blah',),
'Param' => array( 'Name' => 'sending_key2', 'Value' => '2',),
);
$my_array['push'] = true;
$my_array['endsession'] = false;
returns:
array(4) {
["sn"]=>
string(12) "234234232"
["arrayparams"]=>
array(1) {
["Param"]=>
array(2) {
["Name"]=>
string(61) "sending_key2"
["Value"]=>
string(1) "2"
}
}
["push"]=>
bool(true)
["endsession"]=>
bool(false)
}
我只是有时间让它发送这个:
array(4) {
["sn"]=>
string(12) "234234232"
["arrayparams"]=>
array(2) {
["Param"]=>
array(2) {
["Name"]=>
string(61) "sending_key"
["Value"]=>
string(1) "blah"
}
["Param"]=>
array(2) {
["Name"]=>
string(61) "sending_key2"
["Value"]=>
string(1) "2"
}
}
["push"]=>
bool(true)
["endsession"]=>
bool(false)
}
'Param' 数组非常严格,必须有这个值,我不能更改为 'Param2' 来让它工作。提前致谢!
问题是您不能在多个密钥中设置密钥 'Param'。
您需要将 'Param' 定义为实际数组,而不是数组中的多个键。
像这样...
$my_array['Param'] = [
['Name' => 'sending_key', 'Value' => 'blah'],
['Name' => 'sending_key2', 'Value' => '2']
];
你能做到吗?
$my_array['arrayparams'] = array(
array('Param' => array( 'Name' => 'sending_key', 'Value' => 'blah',)),
array('Param' => array( 'Name' => 'sending_key2', 'Value' => '2',)),
);