php数组定义数组运算符_php 数组运算符( )、字符串运算符(.)、逻辑运算符(&& AND || OR XOR)...

本文详细介绍了PHP中的数组运算符,如数组的联合操作,并展示了如何使用`$a+$b`合并两个数组而不覆盖重复键值。此外,还探讨了字符串运算符,如连接运算符`.`和连接赋值运算符`.=`,以及在字符串插值中的应用。最后,讨论了逻辑运算符,包括`&&`、`||`、`xor`以及`!`,并解释了它们在条件判断中的作用和短路行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组运算符( )、字符串运算符(.)、逻辑运算符(&& AND || OR XOR)有需要的朋友可参考参考。

php数组运算符

$a $b 联合 $a 和 $b 的联合。

$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。

$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。

$a != $b 不等 如果 $a 不等于 $b 则为 TRUE。

$a <> $b 不等 如果 $a 不等于 $b 则为 TRUE。

$a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE。

PHP 仅有的一个数组运算符是 运算符。它把右边的数组附加到左边的数组后,但是重复的键值不会被覆盖。

 代码如下复制代码

$a = array("a" => "apple", "b" => "banana");

$b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry");

$c = $a $b;

var_dump($c);

执行后,此脚本会显示:

 代码如下复制代码

array(3) {

["a"]=>

string(5) "apple"

["b"]=>

string(6) "banana"

["c"]=>

string(6) "cherry"

}

数组中的单元如果具有相同的键名和值则比较时相等。

Example #1 比较数组

 代码如下复制代码

$a = array("apple", "banana");

$b = array(1 => "banana", "0" => "apple");

var_dump($a == $b); // bool(true)

var_dump($a === $b); // bool(false)

?>

字符串运算符

有两个字符串运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后

 代码如下复制代码

echo "thr"."ee";           //prints the string "three"

echo "twe" . "lve";        //prints the string "twelve"

echo 1 . 2;                //prints the string "12"

echo 1.2;                  //prints the number 1.2

echo 1 2;                  //prints the number 3

?>

 代码如下复制代码

$a = '12345';

// This works:

echo "qwe{$a}rty"; // qwe12345rty, using braces

echo "qwe" . $a . "rty"; // qwe12345rty, concatenation used

// Does not work:

echo 'qwe{$a}rty'; // qwe{$a}rty, single quotes are not parsed

echo "qwe$arty"; // qwe, because $a became $arty, which is undefined

?>

逻辑运算符

下表逻辑运算符举例

$a and $b And(逻辑与) TRUE ,如果 $a 与 $b 都为 TRUE 。

$a or $b Or(逻辑或) TRUE ,如果 $a 或 $b 任一为 TRUE 。

$a xor $b Xor(逻辑异或) TRUE ,如果 $a 或 $b 任一为 TRUE ,但不同时是。

! $a Not(逻辑非) TRUE ,如果 $a 不为 TRUE 。

$a && $b And(逻辑与) TRUE ,如果 $a 与 $b 都为 TRUE 。

$a || $b Or(逻辑或) TRUE ,如果 $a 或 $b 任一为 TRUE 。

“与”和“或”有两种不同形式运算符的原因是它们操作的优先级不同。

 代码如下复制代码

($a = $_GET['var']) || ($a = 'a default');

?>

 代码如下复制代码

// 下面的 foo() 不会被调用,因为它们被运算符“短路”了。

$a = (false && foo());

$b = (true  || foo());

$c = (false and foo());

$d = (true  or  foo());

// "||" 的优先级比 "or" 高

$e = false || true; // $e 被赋值为 (false || true),结果为 true

$f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高]

var_dump($e, $f);

// "&&" 的优先级比 "and" 高

$g = true && false; // $g 被赋值为 (true && false),结果为 false

$h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高]

var_dump($g, $h);

?>

以上例程的输出类似于:

bool(true)

bool(false)

bool(false)

bool(true)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值