欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

程序员文章站 2022-07-14 08:16:40
...

一、PHP常量

常量值被定义后,在脚本的其他任何地方都不能被改变。

常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

注意: 常量在整个脚本中都可以使用。

设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:

bool define(string $name, mixed $value, [bool $case_insensitive])

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • 可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

以下实例我们创建一个 区分大小写的常量, 常量值为 “欢迎访问我的主页:https://blog.csdn.net/qq_36595013“:


<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com");
echo GREETING;    // 输出 "欢迎访问 Runoob.com"
echo '<br>';
echo greeting;   // 输出 "greeting"
?>

以下实例我们创建一个 不区分大小写的常量, 常量值为 “欢迎访问 Runoob.com”:


<?php
// 不区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com", true);
echo greeting;  // 输出 "欢迎访问 Runoob.com"
?>

常量是全局的

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。

<?php
    define("GREETING", "欢迎访问我的主页:https://blog.csdn.net/qq_36595013");

    function myTest() {
        echo GREETING;
    }

    myTest();
?>

二、 PHP字符串变量

字符串变量用于存储并处理文本。
字符串变量用于包含有字符的值。

在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。

在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 “Hello world!” 。然后我们输出 txt 变量的值:

<?php
$txt = "Hello World!";
echo $txt;
?>

* 以下是一些常用的操作字符串的函数和运算符。*
PHP 并置运算符
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
下面的实例演示了如何将两个字符串变量连接在一起:

<?php
    $x = "Hello World!";
    $y = "What a nice day!";

    echo $x . $y; //输出为Hello World!What a nice day!
    echo "<br>";
    echo $x . " " . $y;  //输出为 Hello World! What a nice day!
?>

在上面的代码中,我们使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。

PHP strlen() 函数
有时知道字符串值的长度是很有用的。
strlen() 函数返回字符串的长度(字符数)。

下面的实例返回字符串 “Hello world!” 的长度:

<?php
    $x = "Hello My name is WangWei!";
    echo strlen($x);    //25
    echo "<br>";
    $y = "Hello World!";  
    echo strlen($y);   //12
?>

提示: strlen() 常常用在循环和其他函数中,因为确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)

PHP strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

下面的实例在字符串 “Hello world!” 中查找文本 “world”:

<?php
    echo strpos("Hello World!", "World");  //6
?>

注:在上面的实例中,字符串 “world” 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。
更多关于操作字符串的函数:PHP String参考手册

三、PHP运算符

PHP 算术运算符
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?php
    $x = 18;
    $y = 10;

    echo ($x + $y) . "<br>"; //28
    echo ($x - $y) . "<br>";  //8
    echo ($x * $y) . "<br>";  //180
    echo ($x / $y) . "<br>";  //1.8
    echo ($x % $y) . "<br>";   //8
    echo -$x;                 //-18
?>

PHP7+ 版本新增整除运算符 intdiv()

<?php
    $x = 18;
    $y = 10;

    echo ($x + $y) . "<br>"; //28
    echo ($x - $y) . "<br>";  //8
    echo ($x * $y) . "<br>";  //180
    echo ($x / $y) . "<br>";  //1.8
    echo ($x % $y) . "<br>";   //8
    echo -$x . "<br>";                 //-18
    echo intdiv($x, $y) . "<br>";  //1
    echo var_dump(intdiv($x, $y));  //int(1)
?>

PHP 赋值运算符

在 PHP 中,基本的赋值运算符是 “=”。它意味着左操作数被设置为右侧表达式的值。也就是说,”$x = 5” 的值是 5。
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
PHP 递增/递减运算符
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?php
    $x = 9;
    echo $x++;  //9
    echo "<br>" . $x; //10
    echo "<br>";

    $y = 10;
    echo ++$y;  //11
    echo "<br>" . $y;  //11
    echo "<br>";

    $z = 8;
    echo $z--;  //8
    echo "<br>" . $z; //7
    echo "<br>";

    $w = 7;
    echo --$w;  //6
    echo "<br>" . $w; //6
?>

PHP 比较运算符
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?php
    $x = 100;
    $y = "100";

    var_dump($x == $y); //bool(true)
    echo "<br>";
    var_dump($x === $y);  //bool(false)
    echo "<br>";
    var_dump($x != $y); //bool(false)
    echo "<br>";
    var_dump($x !== $y); //bool(true)
    echo "<br>";

    $z = 100;
    $w = 110;
    var_dump($z < $w);  //bool(true)
    echo "<br>";
    var_dump($z > $w);  //bool(false)
?>

PHP 逻辑运算符
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?php
    $x = 12;
    $y = 13;

    echo var_dump(($x < 15) and ($y > 10)); //bool(true)
    echo "<br>";
    echo var_dump(($x > 15) or ($y < 10)); //bool(false)
?>

PHP 数组运算符
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?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)

四、PHP If…Else 语句

PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?php 
  $y = date("y"); //18
  $m = date("m"); //06
  $d = date("d"); //24
  echo "今天是".$y."-".$m."-".$d;
  echo "<br>";

  if($y < 20) {
    echo "距离2020年还有".(20 - $y)."天"; //2
  }

?>

PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?php
    $m = date("m");
    echo $m;  //6

    echo "<br>";
    if((1 <= $m) && ($m <= 3)) {
        echo "春天里的".$m."月,"." 你好!";
    }
    else if((4 <= $m) && ($m >=6)) {
        echo "夏天里的".$m."月,"." 你好!";
    }
    else if((7 <= $m) && ($m <= 9)) {
        echo "秋天里的".$m."月,"." 你好!";
    }
    else {
        echo "冬天里的".$m."月,"." 你好!";
    }

?>

五、PHP Switch 语句

switch 语句用于根据多个不同条件执行不同动作。

如果您希望有选择地执行若干代码块之一,请使用 switch 语句。
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

<?php
  $num = rand(1, 5); //返回随机整数
  echo $num;
  echo "<br>";

  switch($num) {
    case "1":
          echo "一枝独秀";
          break;
      case "2":
      echo "二龙戏珠";
          break;
      case "3":
          echo "三人行,必有我师";
          break;
      case "4": 
          echo "四通八达";
          break;
      default: 
          echo "五步成诗";
  }
?>

六、PHP 数组

数组能够在单个变量中存储多个值:

<?php
  $fruits = array("apple", "banana", "mango", "Hami melon");

  echo "I like ".$fruits[0].",  ".$fruits[1]." and ".$fruits[3];
?>

PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

<?php
  $fruits = array("apple", "banana", "mango", "Hami melon");

  echo "I like ".$fruits[0].",  ".$fruits[1]." and ".$fruits[3];
  echo "<br>";

  $length = count($fruits);
  echo $length;  //4
?>

遍历数值数组
遍历并打印数值数组中的所有值,可以使用 for 循环,如下所示:

<?php
  $fruits = array("apple", "banana", "mango", "Hami melon");

  $length = count($fruits);
  for($i = 0; $i < $length; $i++) {
    echo $fruits[$i];
    echo "<br>";
  }
?>

PHP 关联数组

关联数组是使用您分配给数组的指定的键的数组。

这里有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); //数组下标/值对

or

$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43"; 

遍历关联数组
遍历并打印关联数组中的所有值,可以使用 foreach 循环,如下所示:

<?php
  $fruits = array("apple"=>"5", "banana"=>"6", "mango"=>"7", "Hami melon"=>"8");
    foreach($fruits as $x=>$x_value) {
        echo "index=".$x. " value=".$x_value."<br>";
    }
?>

结果:
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
完整的 PHP Array 参考手册
PHP Array 参考手册。

七、PHP 数组排序

数组中的元素可以按字母或数字顺序进行降序或升序排列。
下列 PHP 数组排序函数:
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
sort() - 对数组进行升序排列
下面的实例将 $cars 数组中的元素按照字母升序排列:

<pre>
<?php 
  $fruits = array("mango", "apple", "pear", "banana");

  sort($fruits);
  print_r($fruits);
?>
</pre>  

结果:
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
下面的实例将 $numbers 数组中的元素按照数字升序排列:

<pre>
<?php
    $numbers = array(10, 1, 13, 8, 4, 6, 3);

    sort($numbers);
    print_r($numbers);
?>
</pre>

结果:
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)
rsort() - 对数组进行降序排列

asort() - 根据数组的值,对数组进行升序排列
arsort() - 根据数组的值,对数组进行降序排列

下面的实例根据数组的值,对关联数组进行升序排列:

<pre>
    <?php
      $ageOfPeople = array("张三" => "20", "李四" => "14", "王五" => "23");
      asort($ageOfPeople);
      print_r($ageOfPeople);
    ?>
</pre>

结果:
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)

ksort() - 根据数组的键,对数组进行升序排列
krsort() - 根据数组的键,对数组进行降序排列

下面的实例根据数组的键,对关联数组进行升序排列:

<pre>
    <?php
      $ageOfPeople = array("Mary" =>"11","Alice" => "18", "Peter" => "25");
      ksort($ageOfPeople);
      print_r($ageOfPeople);
    ?>
</pre>

结果:
PHP学习笔记(之 篇二常量、字符串、运算符、数组、if、switch)