PHP(二)运算符与数组

PHP教程(二)

0x00 PHP运算符

PHP的基本运算符的使用方法跟C语言基本一致,就不再赘述了,但PHP有一个比较运算符用较多

比较运算符

x==y//等于,如果x=y则返回true
x===y//绝对等于,如果x=y且x和y的数据类型相同则返回true

数组运算符

运算符 名称 描述
x+y 集合 x和y的集合
x==y 相等 如果x和y具有相同的键值对,则返回true
x===y 恒等 如果x和具有相同的键值对,且顺序相同类型相同,则返回true
x!=y 不相等 如果x不等于y,则返回true
x<>y 不相等 如果x不等于y,则返回true
x!==y 不恒等 如果x不恒等于y,则返回true
<?php
$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>

运行结果:

array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" } 
bool(false) 
bool(false) 
bool(true) 
bool(true) 
bool(true)

三元运算符

(expr1)?(expr2):(expr3);

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

<?php
$test = '123';
// 普通写法
$username = isset($test) ? $test : 'nobody';
echo $username, PHP_EOL;

// PHP 5.3+ 版本写法
$username = $test ?: 'nobody';
echo $username, PHP_EOL;
?>

组合比较符

PHP7及以上版本支持组合比较符,当比较符两侧相等时返回0,当比较符左侧的值小于右侧的值时返回-1,否则返回1

<?php
// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

0x01 PHP条件语句

if else

if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
<?php
$t=date("H");
if ($t<"20")
{
    echo "Have a good day!";
}
else
{
    echo "Have a good night!";
}
?>

if elseif else

if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)//elseif也可以写成else if,两者作用效果完全相同
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
<?php
$t=date("H");
if ($t<"10")
{
    echo "Have a good morning!";
}
elseif ($t<"20")
{
    echo "Have a good day!";
}
else
{
    echo "Have a good night!";
}
?>

Switch语句

<?php
switch (n)
{
case label1:
    如果 n=label1,此处代码将执行;
    break;//break作用极大,划重点!!!
case label2:
    如果 n=label2,此处代码将执行;
    break;
default:
    如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>

0x02 PHP数组

在 PHP 中,array() 函数用于创建数组:

array();
  • 数值数组 - 带有数字 ID 键的数组
  • 关联数组 - 带有指定的键的数组,每个键关联一个值
  • 多维数组 - 包含一个或多个数组的数组
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";.

获取数组的长度函数-count()

$test=array("1","2","3","4");
echo count($test)

PHP关联数组

使用关联数组可以自行指定数组的键值对

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
//创建关联数组的方式一  
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
//创建关联数组的方式二  
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

遍历关联数组的方式

用foreach循环进行遍历

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");//声明关联数组

foreach($age as $x=>$x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}
?>

0x04 PHP数组排序

排序函数

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列

猜你喜欢

转载自blog.csdn.net/levones/article/details/80529896
今日推荐