【问题标题】:PHP parse_ini_filePHP parse_ini_file
【发布时间】:2013-05-10 18:54:56
【问题描述】:

我尝试从文件中解析某些内容,但无法正常工作..

如果我这样做:

$idd = 11;
$aInifile = parse_ini_file('status.ini', 'reply');
echo 'test : ' . $aInifile['reply']['11'];

然后我得到正确的答复。 但如果我使用:

$idd = 11;
$aInifile = parse_ini_file('status.ini', 'reply');
echo 'test : ' . $aInifile['reply'][$idd];

然后它不工作......那么我怎样才能让它工作,使用 $idd 变量?

我的 .ini 文件

[reply]
0 = "In progress (a normal message submission, with no error encountered so far)"
10 = "Delivered upstream"
11 = "Delivered to mobile"

已经尝试了很多东西,也在谷歌上搜索过,所以在这里赌你们的帮助!

【问题讨论】:

  • 向我们展示ini文件。第二个参数也必须是布尔值,而不是字符串。
  • 试试var_dump($aInifile);。该输出是什么样的?
  • '11' !== 11(字符串与整数)
  • 告诉我们var_dump($aInifile)
  • 使用 error_reporting 打开所有错误。

标签: php arrays parsing ini


【解决方案1】:

索引是一个字符串,所以你可以这样做:

$idd = "11";
...
echo 'test : ' . $aInifile['reply'][$idd];

注意 11 !== "11"

【讨论】:

  • 根据the manual,“包含有效整数的字符串将被转换为整数类型。例如,键“8”实际上将存储在8下。另一方面,“08”不会强制转换,因为它不是有效的十进制整数。”这不是一个严格的比较。 codepad.viper-7.com/UtLvnw
  • 是的,$idd = "11";成功了..但是“线索”是我从我使用curl“保存”到变量$idd的页面中得到$idd,所以有没有办法将“”添加到数字(例如数字11 )在 $idd 变量内?
猜你喜欢
  • 2011-08-09
  • 2012-06-17
  • 2015-05-06
  • 1970-01-01
  • 2012-12-11
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
相关资源
最近更新 更多