【发布时间】:2016-12-27 11:49:50
【问题描述】:
简短:有没有办法在不知道主键的情况下从 SUBARRAY 获取命名键/值?
长:
我有一个 foreach 循环,可以提取文本文件并将它们转换为单独的/单个数组(重置每个文件之间的数组)...
示例:
Array
(
[Blah Blah] => Array
(
[number] => 10
[name] => nameBlah
[image] =>
)
)
Array
(
[pinkblue597] => Array
(
[number] => 18
[name] => nameBlah68
[image] =>
)
)
(转化为数组的第一部分被进程的多个部分使用,所以我不想添加不必要的代码)
我想提取“name”和“number”的值,但是我事先不知道键的值/格式.. - 示例:pinkblue597
如果我这样做print_r,我确实可以看到我想要的数组...
print_r($found,true)."\n";
但如果我这样做,$name=$found[0]; 我不会得到 "$name" 的结果...
或
如果我这样做,$name=$found[0]["name"]; 我没有得到 "$name" 的结果...
我可以通过 foreach 循环来做到这一点,但它似乎效率低下......
PS 这个数组中只有一个(未知)键和一个子数组。子数组总是一样的。
已编辑:使代码更易于查看(忘记这样做了)
【问题讨论】:
-
您可以使用
array_keys(),因此您可以使用数字键访问您的数组。 -
我强烈建议您在帮助中心查看How to create a Minimal, Complete, and Verifiable example,这样您的问题就不会再被否决。您在这里的一个关键问题是您提供的示例数组(除了没有正确格式化为代码)没有展示您要解决的实际问题。因此,没有合理的方法可以从您所拥有的东西中推断出您的实际期望。
-
一些改进您的问题的建议是使用类似
var_export()而不是print_r()来提供您的数组的最小、完整和可验证的示例以及您对它们的期望。由于var_export将返回实际有效的 PHP 代码,而不是一些任意的数据文本表示。 -
是什么让你觉得
foreach效率低下?