PHP结构控制

流程控制

条件判断语句

循环控制语句

这里说明一下foreach()语句

foreach (array_expression as $value)

        statement

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

foreach (array_expression as $key => $value)

        statement

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

 

PHP学习笔记_03_基础入门_php

 

 

跳转语句

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

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

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

 

PHP学习笔记_03_基础入门_java_02

 

PHP EOF(heredoc) 使用说明

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

 

PHP学习笔记_03_基础入门_java_03

 

 

  

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

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

定界符 EOF

PHP String

PHP 并置运算符

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

echo $txt1 . " " . $txt2; 

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

 

常用字符函数:

求长度  核心库中

比较字符串

指定编码长度

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

搜索字符串是否存在 第三个参数为偏移量

 

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 "\n";
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 (
类图书"=>array ("PHP从入门到放弃","PHP典型模块","PHP标准教程"),
类图书"=>array ("a"=>"JAVA范例手册","b"=>"JAVA WEB范例宝典"),
类图书"=>array ("ASP从入门到放弃",2=>"ASP范例宝典","ASP典型模块")
);
print_r($str);
out:
Array
(
类图书] => Array
(
从入门到放弃
典型模块
标准教程
)

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

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

while (list($key,$value)=each($str)) {
while(list($key,$value2)=each($value)){
echo $key."->".$value2;
}
echo "\n";
}
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 "\n".count($res4);
最大值小值
$arr1=range(1, 100);
$max1=max($arr1);
$min1=min($arr1);
echo "\n"."$max1"." "."$min1";
求和
echo "\n".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 "\n";
末尾
print_r(end($x));
上一个
print_r(prev($x));
回到头指针
print_r(reset($x));

数组和变量之间的转换
转为变量
张三","age"=>24);
extract($res5);
print "\n";
print $name; print $age;
打包为数组 有时会写错 为不要$的变量名字
李四";
$age=25;
print_r(compact("name1","age"));
交换函数
函数 拿到所有键
函数 拿到所有值
函数 是否存在于其中
函数 数组搜索函数
函数 键是否存在
函数 数组去重
排序函数
下面是排序的第三个参数需要理解的
* 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);
为执行成功
print_r($array);
重新赋值 //必须设置null
$array=null;
for($i='A';$i<'Z';$i++){
$array["$i"]=rand(10,1000);
}
asort($array);
print_r($array);
和arsort()函数 前面一样反向
和krsort()函数 根据键值排序
和natcasesort()函数 按照自然排序 第二个忽略大小写
函数 打乱函数
函数 数组反向函数
数据结构函数
末尾添加一个元素
$array=array();
for($i=0;$i<10;$i++){
array_push($array, "$i");
}
末尾移除一个元素
array_push($array);
头删除元素
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()
函数
函数
函数