问候,
我似乎无法找到一种方法来创建一个函数请求与数组作为参数.例如,如何使用PHP SoapClient发出此类请求:
string string string string
这是否可以调用此函数而不创建任何额外的类(仅使用数组)?如果不是,最紧凑的方式是什么?
您可以使用此-v函数将数组转换为对象树:
function array_to_objecttree($array) { if (is_numeric(key($array))) { // Because Filters->Filter should be an array foreach ($array as $key => $value) { $array[$key] = array_to_objecttree($value); } return $array; } $Object = new stdClass; foreach ($array as $key => $value) { if (is_array($value)) { $Object->$key = array_to_objecttree($value); } else { $Object->$key = $value; } } return $Object; }
像这样:
$data = array( 'GetResultListRequest' => array( 'Filters' => array( 'Filter' => array( array('Name' => 'string', 'Value' => 'string'), // Has a numeric key array('Name' => 'string', 'Value' => 'string'), ) ) ) ); $Request = array_to_objecttree($data);