以下数组是名为$result的数组的打印。我想知道将数组更改为一组变量的最佳方法,我可以将这些项中的任何一项作为变量访问。例如,如果我想查看[queued_at]值,我可以使用名为$queued_at的变量。
数组([响应]=
以下是阵列的格式化版本:
Array
(
[response] => Array
(
[success] => 1
[result] => Array
(
[success] => Array
(
[0] => Array
(
[id] => 16627521
[device_id] => 22269
[message] => test 10:37
[status] => pending
[send_at] => 1463700123
[queued_at] => 0
[sent_at] => 0
[delivered_at] => 0
[expires_at] => 1463703723
[canceled_at] => 0
[failed_at] => 0
[received_at] => 0
[error] =>
[created_at] => 1463700123
[contact] => Array
(
[id] => 3801855
[name] => +64212465478
[number] => +64212465478
)
)
)
[fails] => Array
(
)
)
)
[status] => 200
)
我认为,通过在普通的foreach
循环中使用variable变量,您将得到想要的。
例子:
$array = $result['response']['result']['success'][0];
foreach($array as $varname => $value)
{
if(is_string($value)) $$varname = $value;
}
您可以使用提取
功能。这将把所有数组键转储到当前变量池中。有几个标志可用于确定在发生碰撞时要执行的操作。例如:
extract($result, EXTR_PREFIX_ALL, "r_");
将允许您访问所有的数组键作为前缀为"r_"的变量。
您可以使用extract()来执行此操作,例如extract($array,EXTR_OVERWRITE),但需要注意以下几点:
>
我发现您有嵌套数组,extract()可能不够聪明,无法处理这些数组,但您可以尝试这里提出的嵌套的\u extract()方法:http://php.net/manual/en/function.extract.php(见评论部分)
反正我也不建议这么做。如果您只需要一种简单的方法来访问数组内部的数据——只需编写一个智能查找器函数,在嵌套数组中查找特定的键。
您的替代解决方案-而不是创建额外的临时变量,只需根据键值名称访问数组中的数据:
// This function will convert multi-dimensional array to a single dimensional one
// If two items have the same keys - the former will be overwritten
function flatten(array $array)
{
$return = array();
array_walk_recursive($array, function($a, $key) use (&$return) { $return[$key] = $a; });
return $return;
}
// This is a wrapper for the whole feature - flatten array and look for a key
function nested_key_search(array $array, $key)
{
$flat = flatten($array);
return $flat[$key] ?: false;
}
print_r(nested_key_search($array, 'coffee'));
问题内容: 这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 7年前关闭。 我得到一个页面网址,例如。现在,有人告诉我将b的值更改为5,以使其变为。 即从更改为 注意:此处的变量b可以引用任何名称。 问题答案: 采用 从URL中提取查询字符串 将查询字符串拆分为一
本文向大家介绍PHP list() 将数组中的值赋给变量的简单实例,包括了PHP list() 将数组中的值赋给变量的简单实例的使用技巧和注意事项,需要的朋友参考一下 list() PHP list() 用一步操作把数组中的值赋给一些变量。同 array() 一样,list() 不是真正的函数,而是语言结构。 语法: void list( mixed var, mixed ... )注意: lis
问题内容: 我希望能够以字符串的形式获取变量的名称,但是我不知道Python是否具有这么多的自省功能。就像是: 我想这样做是因为我想把一堆变量变成一个像这样的字典: 但是我想要比这更自动的东西。 Python具有和,所以我猜有办法。 问题答案: 您要这样做吗? 例
问题内容: 第一个System.out打印 2 并且应该打印,而第二个System打印 65 。我已经用这种语言编程了一年多了,据我所知这是不可能发生的!有什么帮助吗? 上面的代码在两行上都显示 9 。 问题答案: 当你这样做,之前仅仅是一个参考阵列, NO 新阵列已创建并分配给。因此,当您查看自己的价值时,基本上就是查看的价值,反之亦然。只是的别名。这就是为什么在第二张照片中您得到65。 检查该
本文向大家介绍PHP简单实现解析xml为数组的方法,包括了PHP简单实现解析xml为数组的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP简单实现解析xml为数组的方法。分享给大家供大家参考,具体如下: 最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析方式 xmlDemo.xml文件: php代码: 运行结果: PS:这里再为大家提供几
本文向大家介绍php简单统计字符串单词数量的方法,包括了php简单统计字符串单词数量的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php简单统计字符串单词数量的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。