首页 > 解决方案 > PHP:一键不带回它的价值

问题描述

我有一个使用 var_dump 的数组如下

array(26) {
  ["SUPPLIER_NAME"]=>
  string(14) ""Company Ltd""
  ["INACTIVATE"]=>
  string(13) ""Keep Active""
  ["SUPPLIER_INACTIVE_DATE"]=>
  string(0) ""
  ["SITE_INACTIVE_DATE"]=>
  string(0) ""
  ["ADDRESS2"]=>
  string(0) ""
  ["ADDRESS3"]=>
  string(0) ""
}

但是,当我尝试执行以下操作时,它是空白的,没有返回值

echo $array["SUPPLIER_NAME"]

当我做任何其他键时,它可以工作,只是不在SUPPLIER_NAME

有任何想法吗?

已编辑

我们使用如下数组(我只是引用了这个数组中的第一个键):

echo '<pre>';
var_dump($result[0]);
echo '</pre>';

这会产生:

array(26) {
  ["SUPPLIER_NAME"]=>
  string(14) ""Company Ltd""
  ["SUPPLIER_TYPE"]=>
  string(13) ""Keep Active""
...
...
  ["ADDRESS2"]=>
  string(0) ""
  ["ADDRESS3"]=>
  string(0) ""
}

然后我尝试执行以下操作,但什么也没吐出:

echo '<pre>';
print_r($result[0]["SUPPLIER_NAME"]);
echo '</pre>';

但是,这会产生正确的数据(并且所有其他键也可以):

echo '<pre>';
print_r($result[0]["SUPPLIER_TYPE"]);
echo '</pre>';

我做了以下事情:

echo '<pre>';
var_dump(array_keys($result[0]));
echo '</pre>';

我有:

array(26) {
  [0]=>
  string(16) "SUPPLIER_NAME"

标签: php

解决方案


您的数组中有一个隐藏字符:

array(26) {
//  v---------------------- there
  ["SUPPLIER_NAME"]=>
  string(14) ""Company Ltd""
  ["INACTIVATE"]=>
  string(13) ""Keep Active""
  ["SUPPLIER_INACTIVE_DATE"]=>
  string(0) ""
  ["SITE_INACTIVE_DATE"]=>
  string(0) ""
  ["ADDRESS2"]=>
  string(0) ""
  ["ADDRESS3"]=>
  string(0) ""
}

"SUPPLIER_NAME" != "SUPPLIER_NAME"

推荐阅读