php生成数组,键值大写和小写有区别吗

发布网友 发布时间:2022-04-26 02:23

我来回答

5个回答

热心网友 时间:2022-05-02 03:50

是有区别的。
一楼说法有误~
PHP不区分方法名大小写
但是区分变量大小写!
----------------------
正因为区分变量大小写,所以键值的大小写是有区别的。

热心网友 时间:2022-05-02 05:08

php是不区分方法、变量大小写,但是,它会区分字符串大小写啊……
array("a"=>1,"A"=>2)这种写法是可以了
"a"和"A"是两个不同的字符,它们的asc码是不同的。

热心网友 时间:2022-05-02 06:43

$a['a'] = 1;
$a['A'] = 1; # 1.数组键名不区分大小写

var_mp($a,$A); # 2.变量名区分大小写(包括类的成员变量)

/* <b>Notice</b>:  Undefined variable: A in <b>/var/www/html/biogate/info.php</b> on line <b>18</b><br />
array(2) {
  ["a"]=>
  int(1)
  ["A"]=>
  int(1)
}
NULL
 */


class PHPJungle{
var $name = '111';
var $Name = '222';

function a(){}
function A(){} #  Cannot redeclare PHPJungle::A()
}
$PJ = new PHPJungle();

var_mp($PJ);

/* object(PHPJungle)#1 (2) {
["name"]=>
string(3) "111"
["Name"]=>
string(3) "222"
}
 */
 
function a(){ # 3.函数名不区分大小写(在类里面也是)

}

function A(){ # Fatal error: Cannot redeclare A() (previously declared in

}

热心网友 时间:2022-05-02 08:34

有区别的,
因为你使用array_change_key_case 是获取全部小写或者全部大写输入的~

热心网友 时间:2022-05-02 10:42

超级简单的问题,自己试试不就知道了?

<?php
    $arr = ['a'=>1,'A'=>2];
    var_mp($arr['a'],$arr['A']);exit;

输出:

int(1)
int(2)

说明小写跟大写是有区别的,它们属于不同的键,为什么呢?因为数组的键可以是数字或字符串,很明显,不管是小a还是大A都属于字符串,而字符串是有ASCII码的,小a的ASCII码是97,大A的ASCII码是65,所以它们根本就是两个不同的字符串(没错,一个字符也是字符串,并不是真的要“一串字符”才叫字符串),两个完全不同的字符串做键,得到的值当然不同。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com