php 学习
重点: php语言下的变量只能以 $ 开头,无论在什么地方调用这个变量,均需要以 $ 开头调用这个变量。
php语言下的变量只能以 $ 开头,无论在什么地方调用这个变量,均需要以 $ 开头调用这个变量。
php语言下的变量只能以 $ 开头,无论在什么地方调用这个变量,均需要以 $ 开头调用这个变量。
php -a 进入命令行交互模式
echo 函数
echo 输出多个字符串:用.连接,中间不能有空格;字符串中可以有 html代码
<?php $color = "red"; echo "My car is ".$color."<br>"; echo "My car is ".$color."<br>"; echo "My car is ".$color."<br>"; ?>
变量命名规则
1、只能以$开头,其后紧跟变量的名称;
2、名称只能以字母或下划线开头;
3、名称只能由字母、数字、下划线构成
4、大小写敏感
变量作用域
1、函数内变量只能在函数内调用;
2、全局变量只能在函数外调用;
3、可通过 在 函数内部生命全局变量 global $x'; 从而在函数内部访问或者更新全局变量;
4、可通过 在函数内部通过 $GLOBALS['x'] 来访问或者更新全局变量
5、static关键字
数据类型
1、 var_dump($x); 返回变量 $x的数据类型及数值
常量定义
define("GREETING","WELCOME TO W3CSCHOOL.COM.CN"); echo GREETING; echo "<br>";
重点: php语言下的变量只能以 $ 开头,无论在什么地方调用这个变量,均需要以 $ 开头调用这个变量。
常量定义遵循以下几个规则:1、通过define("name","value");定义
2、常量定义后不能修改;
3、常量名称全面没有 $ 符号了;
4、常量自动全局(global);
字符串运算符:
1、. 字符串拼接符
2、.= 字符串拼接运算符
比较运算符:
1、 == 和 != ==仅判断比较双方的内容是否一致 1 == “1” 返回true ,因此 1 != "1" 返回 false
2、=== 和 !== ===需要比较双方的类型和内容均一致,才返回 true,否则返回false。 !== 与 === 的结果相反
数组运算符:
1、 == != / <> 数组的内容是否一致(不涉及类型是否一致)
2、 === (数字的内容一致,并且类型、顺序也需一致) !==
句式:
1、 if -- elseif -- else 注意为 elseif (中间不能有空格)
2、switch 语句
3、while语句 和 do {} while() 语句
4、for循环
5、foreach循环
$color = array("apple","orange","ice","strawberry","juice"); foreach($color as $fruit) { echo $fruit; echo "<br>"; }
函数:
1、默认参数
<?php function setHeight($minheight=50) { echo "The height is : $minheight <br>"; } setHeight(350); setHeight(); // 将使用默认值 50 setHeight(135); setHeight(80); ?>
2、函数传值:在函数内部无法有效对函数外的局部变量的值进行修改
数组:
1、索引数组
<?php $cars = array(); $cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="SAAB"; //$cars = array("VOlvo","BMW","SAAB"); //一句话输出 echo "I like ".$cars[0]." ".$cars[1]." ".$cars[2]." <br>"; //循环遍历输出 for($i=0;$i<count($cars);$i++) echo "$cars[$i] <br>"; ?>
2、关联数组
<?php $age = array("peter"=>"35","ben"=>"37","joe"=>"43"); echo "peter is ".$age['peter']." 岁<br><br>"; foreach($age as $name => $age) echo $name." ".$age."<br>"; ?>
3、多维数组
<?php $cars = array ( array("Volvo",22,18), array("BMW",15,13), array("SAAB",5,2), array("Lang Rover",17,15), ); echo $cars[0][2]; $rowCount = count($cars); $columnCount = count($cars[0]); //echo "good ".$rowCount." ".$columnCount; for($i = 0;$i<$rowCount;$i++) { echo $i; for($j=0;$j<$columnCount;$j++) { echo $cars[$i][$j]." "; } echo "<br><br>"; } ?>
4、排序函数
共有六个内置的排序函数,分别是: sort($age) rsort($age) asort($age) ksort($age) arsort($age) krsort($age)
<?php $age = array("peter"=>"35","ben"=>"37","joe"=>"43"); $age['peter']='26'; echo "peter is ".$age['peter']." 岁<br><br>"; arsort($age); foreach($age as $name => $age) echo $name." ".$age."<br>"; ?>
5、删除元素
$a1=array("a"=>"red","b"=>"green","c"=>"good","d"=>"okone"); foreach($a1 as $key => $value) { if($value == "green") unset($a1[$key]); }
6、 新增元素: array_push() 与 $result[] = $element
压入一个元素,$result[] = $element 要快很多;
同时压入多个元素,array_push($array,$elem1,$elem2)要快一些
参考链接:http://blog.csdn.net/fdipzone/article/details/48766919
7、array_keys_exists($key,$array)
<?php $a1=array("a"=>"red","b"=>"green","c"=>"good","d"=>"okone"); foreach($a1 as $key => $value) { if($value == "green") unset($a1[$key]); } print_r(array_values($a1)); echo "<br>"; print_r(array_keys($a1)); echo "<br>"; if(array_key_exists("c",$a1)) echo "存在"; else echo "不存在"; echo "<br>"; //打印数组 print_r($a1); ?>
8、array_keys($array1) array_values($array2) \
全局变量
1、$GLOBALS['key'] 该全局变量储存了该php文件中的所有全局变量;
2、$_SERVER['key'] 该全局变量储存了后台脚本的相关信息; ( $_SERVER["REQUEST_METHOD"] == "POST" )
3、$_REQUEST 该全局变量里保存了请求的数据,类似于 Java中的 HttpServletRequest 的实例对象 request(里面也储存了请求数据)
4、$_GET 和 $_POST 分别收集了 get 和 post方式传到后台的表单数据
php后台函数:
1、trim($name) 去掉收尾的空元素;
2、stripslashes
($name)去掉反斜杠
3、htmlspecialchars($name) 把特殊符号转换为 html实体
4、empty($name) 判断 $name 是否为空
5、preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格!"; }
date函数:
1、下面的php语句返回 "2017-04-19 04:27:21 pm"格式的时间表示(H 和 h)
echo "今天是 ".date("Y-m-d h:i:s a")."<br>";
<?php $now = time(); $five_hours = strtotime("+5 hours"); echo $now."\n"; echo $five_hours; ?>
2、 mktime(hour,minute,second,month,day,year)
<?php $d=mktime(9, 12, 31, 6, 10, 2015); echo "创建日期是 " . date("Y-m-d h:i:sa", $d); ?>
3、time() 获取当前时间戳
$now = time(); echo $now."<br>"; echo date("Y-m-d H:i:s a",$now)." <br><br>";
$this.assign("key","value");
Smarty 下:传值调用,在模板中可通过 ${key}来显示value值
函数:
1、file_extsts()
<?php echo file_exists("test.txt"); ?>
2、isset[$_GET["update']]
3、strtotime(date("Y-m-d H:s:i")) - strtotime()
4、implode() 函数
$arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ",$arr);
5、unset($array[‘key’])
<?php $arr2 = array(1,3, 5,7,8); foreach ($arr2 as $key=>$value) { if ($value === 3) unset($arr2[$key]); } var_dump($arr2); ?>