首页 > 解决方案 > 我可以正确访问 associativeArray[a][2][1]。(0<= a< 2) 但是如果要访问 associativeArray[a][2][0],它会给我错误的结果

问题描述

0621 - 是 STD 代码 22465874 - 是电话号码。

我可以正确访问电话号码,但使用 $associativeArray[0][2][0] 会给出错误的值。

     <?php
error_reporting(0);


echo "<br>";

$associativeArray = array(

                        array(1, "Rahul", array(0621, 22465874)),
                        array(2, "Ayushi", array(0261, 2265471)),
                        array(3, "Ritik", array(2314, 4789556))


                    );


echo $associativeArray[0][2][0], "<br>";
echo $associativeArray[0][2][1];
?>

标签: php

解决方案


如果数字以零开头, PHP会将其解释为八进制数。

因此,您只需将电话号码放在引号中即可避免出现问题:

<?php

error_reporting(0);

echo "<br>";

$associativeArray = array(
    array(1, "Rahul", array('0621', '22465874')),
    array(2, "Ayushi", array('0261', '2265471')),
    array(3, "Ritik", array('2314', '4789556'))
);

echo $associativeArray[0][2][0], "<br>";
echo $associativeArray[0][2][1];
?>

输出:

<br>0621<br>22465874

演示:https ://3v4l.org/c48jl


推荐阅读