PHP学习笔记_03_基础入门

PHP结构控制

流程控制

 条件判断语句

 循环控制语句

这里说明一下foreach()语句

foreach (array_expression as $value)

        statement

这是可以直接拿到值的语句

foreach (array_expression as $key => $value)

        statement

在遍历的时候 都是可以拿到的

 

 跳转语句

上面基本上与类C语言一致

 多了一个终止语句 exit()l

void exit([string message]);  #语句后的内容不会被执行

 

PHP EOF(heredoc) 使用说明

  作用输出大文本 使用定界符  <<<

 

  

  1.PHP 定界符 EOF 的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;

  2.PHP 定界符 EOF 中的任何特殊字符都不需要转义;

  3.PHP 定界符 EOF

PHP String

PHP 并置运算符

 java中使用+连接字符串 ,而php使用 . 连接字符串

echo $txt1 . " " . $txt2; 

可以在字符串中使用转义序列进行替换

常用字符函数:

  strlen (string $string) {}   //求长度  核心库中

 function strcmp (string $str1, string $str2) {}  //比较字符串

 function mb_strlen (string $str, string $encoding = null) {} //指定编码长度

           echo mb_strlen("中文字符",'utf-8');  // 输出 4

 function strpos (string $haystack, $needle, int $offset = null) {} //搜索字符串是否存在 第三个参数为偏移量

php数组

定义:

一般情况下数组可以分为一维数组,二维数组,多维数组;

php中这些又分为:

 数字索引数组; //也就是C中普通数组的定义方式

 关联数组;   //类似于C Cpp中的map 定义方式并且键值对是不需要连续的额,在数字索引数组下 默认是连续的

数组索引数组:

$numbers = array(1, 2, 3, 4,5);

//sizeof == count

for ($i=0;$i<sizeof($numbers);$i++){

    echo $numbers[$i]." ";

}

//改变值

$numbers[0] = "one";

$numbers[1] = "two";

$numbers[2] = "three";

$numbers[3] = "four";

$numbers[4] = "five";

echo " ";

foreach ($numbers as $k){

    echo $k." ";

}

关联数组: 关联数组中的键是mixed类型

$salaries = array(

    "mohammad" => 2000,

    "qadir" => 1000,

    "zara" => 500

);

print_r($salaries);

//证明点  由于存在关联 所以可以自己定义 起始键

$arr=array("2"=>"a","4"=>"b");

        print_r($arr);

多维数组:

code

$str = array (

    "PHP类图书"=>array ("PHP从入门到放弃","PHP典型模块","PHP标准教程"),

    "JAVA类图书"=>array ("a"=>"JAVA范例手册","b"=>"JAVA WEB范例宝典"),

    "ASP类图书"=>array ("ASP从入门到放弃",2=>"ASP范例宝典","ASP典型模块")

);

print_r($str);

out

Array

(

    [PHP类图书] => Array

        (

            [0] => PHP从入门到放弃

            [1] => PHP典型模块

            [2] => PHP标准教程

        )

第三种遍历数组办法:list()拿到键值   each 拿到指针  while)()

这里同样举例遍历上面那个二维数组。

while (list($key,$value)=each($str)) {

    while(list($key,$value2)=each($value)){

        echo $key."->".$value2;

    }

    echo " ";

}

out

0->PHP从入门到放弃1->PHP典型模块2->PHP标准教程

a->JAVA范例手册b->JAVA WEB范例宝典

0->ASP从入门到放弃2->ASP范例宝典3->ASP典型模块

输出数组

前面用到print_r() 来打印数组  ,print_r()打印数组仅仅是打印数组中内容,

实现输出数组中包含更多的信息,可以使用 var_dump()函数

常用函数

 创建数组

function range ($start, $end, $step = null) {}  

  # 创建数组 无论数字还是字母 只以开头为准

    # 创建数组

    $a=range("1", "26");

    $b=range("a", "z");

    print_r($b);

    #合并数组 以键值对打包

    $k=array(1,2);

    $v=array("php","jsp");

    $res=array_combine($k, $v);

    print_r($res);

    #创建指定范围数组

    $z=array_fill(1, 5, "a");

    print_r($z);

    #填充满足范围的数组

    $res2=array_pad($k, 5, "a");

    print_r($res2);

    #分割函数

    $res3="java@cpp@c@jsp@asp";

    $res4=explode("@", $res3);

    print_r($res4);

 统计函数

    # 次数

    echo " ".count($res4);

    # 最大值小值

    $arr1=range(1, 100);

    $max1=max($arr1);

    $min1=min($arr1);

    echo " "."$max1"." "."$min1";

    # 求和

    echo " ".array_sum($arr1);

    # 出现次数

    $x=array("a","b","c","b");

    print_r(array_count_values($x));

 指针函数

# 当前指键

    print_r(key($x));

    echo "->";

    # 当前指值

    print_r(current($x));

    # 下一个

    print_r(next($x));

    echo " ";

    # 末尾

    print_r(end($x));

    # 上一个

    print_r(prev($x));

    # 回到头指针

    print_r(reset($x));

    

 数组和变量之间的转换

 # 转为变量

    $res5=array("name"=>"张三","age"=>24);

    extract($res5);

    print " ";

    print $name; print $age;

    # 打包为数组 有时会写错 为不要$的变量名字

    $name1="李四";

    $age=25;

    print_r(compact("name1","age"));

 交换函数

 array_keys()函数      拿到所有键

 array_values()函数 拿到所有值

 in_array()函数   是否存在于其中

 array_search()函数     数组搜索函数

 array_key_exists()函数   键是否存在

 array_unique()函数    数组去重

 排序函数

下面是排序的第三个参数需要理解的

* SORT_REGULAR - compare items normally

 * (don't change types)

 * <br>

 * SORT_NUMERIC - compare items numerically

 * <br>

 * SORT_STRING - compare items as strings

 * <br>

 * SORT_LOCALE_STRING - compare items as

# 随机数据测试

       $array=array();

       for($i=a;$i<z;$i++){

           $array[$i]=rand(10,1000);

       }

       # 生成新的数字索引数组

       echo sizeof($array);

       sort($array);// 1为执行成功

       print_r($array);

       # 重新赋值 //必须设置null

       $array=null;

       for($i='A';$i<'Z';$i++){

           $array["$i"]=rand(10,1000);

       }

       asort($array);

       print_r($array);

 rsort()arsort()函数  前面一样反向

 ksort()krsort()函数  根据键值排序

 natsort()natcasesort()函数  按照自然排序 第二个忽略大小写

 shuffle()函数   打乱函数

 array_reverse()函数  数组反向函数

 数据结构函数

 # 末尾添加一个元素

       $array=array();

       for($i=0;$i<10;$i++){

           array_push($array, "$i");

       }

       # 末尾移除一个元素

       array_push($array);

       # stack头删除元素

       array_shift($array);

       # 头插入一个元素

       array_unshift($array, "ss");

 集合函数

 $a=array(1,2,3,4,5);

        $b=array("a","b","c","d",1);

        // 合并

        print_r(array_merge($a,$b));

        // 差集

        print_r(array_diff($a,$b));

        //带索引的差集

        print_r(array_diff_assoc($a,$b));

 array_diff_key()

 array_intersect()函数

 array_intersect_assoc()函数

 array_intersect_key()函数

原文地址:https://www.cnblogs.com/dgwblog/p/9048831.html