【问题标题】:Target array element that has a blank key/name具有空白键/名称的目标数组元素
【发布时间】:2015-11-11 22:54:59
【问题描述】:

我有一个由我无法控制的数据生成的数组,它返回以下数组。有没有办法专门针对具有空白键/名称的元素?

我尝试过$array['']$array[' ']$array[0],但它们似乎都不起作用。有没有不遍历数组的另一种方法,空键/名称可以在数组中的任何位置,不一定是最后一个数组元素?

var_dump(array_keys($array)); 为有问题的元素提供了[0]=> string(2) " ",我尝试使用单空格和双空格作为键/名称来定位元素,但仍然给出未定义的索引错误。

我还在数组中的键上运行serialize(),并且带有空白键/名称的元素返回s:2:" ";

数组

Array
(
    [desc] => Information etc.
    [ref] => 2
    [ ] => 123
)

【问题讨论】:

  • 可能是  哈哈哈:p,如果您通过浏览器查看,可能需要查看view source 以找出答案
  • @Ghost,要是这么简单就好了,试了试也没用。在源代码中它只是空的,就像它在浏览器中显示一样。
  • var_dump() 看看。
  • 你试过$array[NULL]
  • var_dump(ord(array_search(123, $array) ) ); 呢??

标签: php arrays


【解决方案1】:

我可能不是'',而是显示为''的东西(可能是null?)。尝试var_dump(array_keys($array)) 获取实际的键值和类型。这应该会告诉你正确的使用键

【讨论】:

  • 您的语法与我的评论相同是巧合吗...大声笑?!
  • array_keys 给了我[0]=> string(2) " ",我尝试使用单空格和双空格作为键/名称来定位元素,但仍然给出undefined index 错误。
  • 在它上面调用serialize()并将结果粘贴到某个地方,我会为你调试它
  • 当我从帖子中抓取它时,它只有一个字符'',尽管它明确指出它应该有两个。所以可能它的一些 utf 字符被过滤掉了。要捕获它,首先将该特定键分配给某个变量,然后尝试对该字符串中的每个字符使用 ord() 。有什么发现就告诉我
猜你喜欢
  • 2019-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多