PHP基础(1)
来源:互联网 发布:南平广电网络招聘 编辑:程序博客网 时间:2024/06/05 22:54
变量类型
变量类型的转换
php中变量的类型是可以随时转换的,非常常见的是字符串和数字的转换或是数字、字符串——>布尔值的转换
其他值转成布尔值
以下值都被当初布尔的假,而其他值都被当成布尔的真。
if ('' == NULL) { //也可以使用flase echo "空字符串果然假";}
字符串到数字的转换
字符串到数字的转换,从左到右截取,直到碰到不合法的数字,截取出来的部分转成数字,
开头碰到不合法的数字,转成数字0
$a = 'hello12.5world55';$a = $a + 3;var_dump($a); // int 3$a = 123;$a = $a . 'hello'; //字符串的拼接使用点echo "$a"; // 123hello
赋值
赋值分两种:
1. 传值赋值
2. 引用赋值
变量赋值之传值赋值
$li = 29;$wang = 23;$wang = $li;var_dump($li,$wang); // int 29 int 29$wang = 'hello';var_dump($li,$wang); // int 29 string 'hello' (length=5)
变量赋值之引用赋值
$li = 29;$wang = 23;$wang = &$li;var_dump($li,$wang); // int 29 int 29$wang = 'hello';var_dump($li,$wang); // string 'hello' (length=5) string 'hello' (length=5)
变量销毁
//销毁变量$a = 99;unset($a);if (isset($a)) { echo "a存在";}else{ // 走else echo "a不存在";}$li = 29;$wang = &$li;var_dump($li,$wang);// 29 29$wang = 20;var_dump($li,$wang);// 20 20unset($li);//销毁后,表示未定义变量,引用错误,var_dump($li,$wang);// null 20
动态变量名
用变量的值再做变量的名;
//动态变量名$liubei = '河北人';$laoda = 'liubei';echo $laoda,'<br/>',${$laoda}; // liubei 河北人
运算符
三个注意:
1. 除数不可为0
2. 整数的最大值为四十多亿
3. 取模算法时,结果的正负仅取决被除数的正负
// 第一个注意点: $a = 10; $b = 0; echo $a/$b; // Warning: Division by zero 除数不能为0 // 第二个注意点: $a = 3200000000; $b = 3200000000; $c = $a + $b; var_dump($c); // float 6400000000 超出四十多亿,转换成浮点型 // 第三个注意: $a = -10; // 换成10,-10各试 $b = 3; // 换成3,-3各试 var_dump($a%$b); //取模算法时,结果的正负仅取决被除数的正负
比较运算符
凡运算,必有结果,比较运算符的运算结果是布尔值
$a = 5; $b = 3; $c = ($a > $b); var_dump($c); // boolean true $c = ($a==$b); var_dump($c); // boolean false //=== 全等于,要求类型相等且值相等 $a = 5; $b = '5'; var_dump($a == $b);//boolean true var_dump($a === $b);//boolean flase $res = 0;//integer,//false Boolean型 if ($res === false) { echo "没找到"; }else{ echo "找到"; }
三元运算符 ?:
// 给定两个数,帮我找到大的$a = 13;$b = 28;$c = null;$c = ($a >= $b)?$a : $b;var_dump($c);// 运用三元运算符,比较三个数的大小$a = 3;$b = 23;$c = 18;$d = null;$d = ($c >= ($d = ($a >= $b)?$a : $b))?$c : $d;var_dump($d);
逻辑运算符-与或非
某女要求有房且有车,才嫁
$house = true;$car = false;if ($house == true) { if ($car == true) { echo "嫁"; }else{ echo "不嫁"; }}else{ echo "遗憾";}// 逻辑运算符方法$house = true;$car = true;$res = ($house == true && $car == true);var_dump($res);//使用if语句改写$house = true;$car = false;if( ($house == true && $car == true) ){ echo "嫁人";}else{ echo "不嫁";}
b女有房或者有车都嫁, ||的意思是起码有一个条件为真
$house = false;$car = false;if ($house || $car) { echo "嫁";}else{ echo "遗憾saybeybey"; // 遗憾saybeybey}
递增递减运算符
$b = 5;$a = $b++;var_dump($a,$b); // int 5, int 6$b = 5;$a = $b--;var_dump($a,$b); // int 5, int 4$b = 5;$a = ++$b;var_dump($a,$b); // int 6, int 6$b = 5;$a = --$b;var_dump($a,$b); // int 4, int 4
字符串运算符
使用点(.)进行字符串的拼接
$a = 'hello';$b = 'world';$c = $a . $b;var_dump($c); //string 'helloworld' (length=10)$d = 112;$c = $c . $d;var_dump($c); // string 'helloworld112' (length=13)//下面那个运行速度快$a = 'hello';$b = 'world';echo $a,$b;echo "=====";echo $a.$b;
赋值运算符
a=3;//这是一个赋值运算。有两个效果,1是把3赋给 a,2是返回运算结果。
控制语句
if else
最简单的不是就是控制语句
switch case
适合判断多个值的匹配,不适合用在范围判断
$today = 8 ;switch ($today) { case '1': echo "今天星期一"; break; case '2': echo "今天星期二"; break; case '3': echo "今天星期三"; break; case '4': echo "今天星期四"; break; case '5': echo "今天星期五"; break; case '6': echo "今天星期六"; break; case '7': echo "今天星期日"; break; default: echo "你来自火星"; break;}
while
张三有钱10万,需要经过我的山头。当其携带金钱大于50000时,
每次需要交其总钱数的0.05。当其携带金钱小于50000大于等于5000时,
每次通过需要交5000元。问张三能安全的从我的山头通过几次?
// method one$money = 100000;$num = 0;while ($money > 50000) { $money *= 0.95; ++$num; echo '张三第',$num,'次经过路口时,还剩下',$money,'元<br />';}while( $money >= 5000 ) { $money -= 5000; ++$num; echo '张三第',$num,'次经过路口时,还剩下',$money,'元<br />';}// method twofor ($i=100000,$count = 0; $i >= 5000;) { $count += 1; if ($i >50000) { $i *= 0.95; }else{ $i -= 5000; } echo '第',$count,'次经过路口时,还剩下',$i,'元<br />';}
do while
for
打印99乘法表
for ($i=1; $i <= 9 ; $i++) { for ($j=1; $j <= $i ; $j++) { $res = $i * $j; echo "{$j} x {$i} = {$res} "; } echo "<br />";}
《张丘建算经》成书于公元5世纪,作者是北魏人,
书中最后一道题,堪称亮点,通常也被称为“百钱买百鸡”的问题
民间则流传着县令考问神童的佳话,原文如下:
今有鸡翁一,值钱5;鸡母一,值钱3;鸡雏三,值钱1;
百钱买鸡百只,问鸡翁,母,雏各几何?
for ($g=1; $g <= 20 ; $g++) { for ($m = 1; $m <= 33; $m++){ $i = 100-($g+$m); if ($g+$m+$i==100&&($g*5+$m*3+$i/3)==100) { echo '公母雏各',$g,' ',' ',$m,' ',' ',$i,'<br />'; } }}
break continue
待续。。。
阅读全文
1 0
- PHP基础(1)
- PHP基础(1)
- PHP基础(1)---认识PHP
- php学习(1)---php基础
- PHP基础笔记(1)
- PHP基础 PHP 1 PHP的简介
- php学习(1)——php基础
- php编程基础学习(1)
- web程序设计之php基础(1)
- php基础学习总结(1)
- php 基础算法题(1)
- 学习笔记1(php基础)
- PHP基础入门1
- php基础--1:header()
- PHP基础(1)
- php基础1
- PHP基础整理1
- PHP基础入门1
- 【Scikit-Learn 中文文档】决策树
- MySQL数据库应用(DDL/DML/DCL)
- 面向对象编程范式##第三章面向对象编程范式
- 20171123
- 【Scikit-Learn 中文文档】集成方法
- PHP基础(1)
- 字符串中字符删除ac和b
- php中的字符串
- ListView的Item点击事件无响应
- SQL Server字符串
- 【Scikit-Learn 中文文档】多类和多标签算法
- Java面试之框架篇(九)
- 个人知乎 ##基础一-项目介绍
- 常见编码方式之间的区别