获取阵列
一个键的值我有一个变量,当我print_r
这样的输出是:获取阵列
print_r($sort_order[$field->name]);
我得到这个:
Array ([0] => Array ([sort_order] => 92))
,但我只需要值是92.我怎么能这样做,只有当它回声时才输出?例如:
echo $sort_order[$field->name];
应该输出简单
92
你$sortOrder
数组实际上是数组的数组,如:
[
[ 'sort_order' => 92 ]
]
这就是为什么你不能打印它就像你期望的一样。
尝试:
echo $sort_order[0]['sort_order'];
输出:
92
我已经试过那个,但我有一个未定义的偏移量:0 –
哦,没关系,毕竟这是解决方案,我在其他地方发现了一个恶作剧,并修复了它的工作原理。谢谢。 –
的print_r()函数是用来打印有关的可变人类可读信息。
你可以做印刷和回显到输出所需的值:
echo $sort_order[$field->name];
print $sort_order[$field->name];
希望这有助于。
差异很小:echo没有返回值,而print的返回值为1,所以它可以在表达式中使用,echo可以接受多个参数(虽然这种用法是罕见的),而打印可以采取一个参数 – navneet35371
这将无法正常工作我得到:数组到字符串转换 –
您的字段实际上是一个数组数组,因此您必须通过其索引访问该元素。 – navneet35371
命令print_r
以人类可读的方式显示变量。所以如果你需要知道变量中的所有信息(尤其是大数组),那么你就可以使用它。对于其他用途,例如当你只需要知道内容(在我猜99.999%的情况下),你应该使用echo
就像你已经提到它或print
(他们,或多或少是相同的)。
请考虑此链接获得进一步的信息
http://php.net/manual/en/function.print-r.php
What's the difference between echo, print, and print_r in PHP?
正是因为你拥有它。 'echo $ array_name [“sort_order”];' – Lock
什么是$ array_name? –
你的数组的名字是什么。你的文章有点混乱。您在名为'$ sort_order'的变量上使用'print_r',但print_r的结果显示一个名为'sort_order'的数组键。如果这是真正正确的(因为你有一个名为'$ sort_order'的数组变量以及一个名为'$ sort_order'的数组键,那么你将使用'echo $ sort_order [“sort_order”];' – Lock