1.php 不支持全局变量,在主脚本中声明的变量(不在函数中)不是全局变量,不能在函数中使用它们;
$a = "A";
fun_001();
function fun_001(){
echo $a; //报错: Undefined variable: a
echo $GLOBALS["a"];// 打印A
}
2.
$A ="Today";
$B ="Monday";
$C ="Tudeday";
function print_A($A,$B){
//global $C;
echo $C;
echo "<br>";
$B = $A." is ".$B;
echo $B;
}
print_A($A,$B);print("<br>");
echo $B; //b输出 Monday
function print_A1($A,&$B){
//global $C;
echo $C;
echo "<br>";
$B = $A." is ".$B;
echo $B;
}
print_A1($A,$B);print("<br>");
echo "b=".$B; //由于参数$B前+了&,所以形参B的值发生了改变
3.PHP基础:
<?php
###php无全局变量
$a = "A";
fun_001();
function fun_001(){
//echo $a; //Undefined variable: a
echo $GLOBALS["a"]."<br>";
}
###变量的间接引用
$name = "John";
$$name = "a person"."<br>"; //$$name 即为 $John
echo($John);
###变量管理 【是否存在及注销变量】isset(NULL)返回false
//isset() return true/false
if(isset($first_name)){
print '$first name is set';
}
//判断一个数组的元素:
$arr = array("offset"=>"123","onset"=>"456");
if(isset($arr["offeset"])){
echo "$arr offeset is set";
}
//判断一个对象的属性:
if(isset($obj->propertity)){
}
//unset() return true/false
unset($a);
if(isset($a)){
//$a已被取消定义,所以isset($a)返回false
print '$a is set';
}
//empty() return true/false
$a = "aa";
print "$a is good<br>";
$a = null;
if(empty($a)){
print '$a is empty<br>';
}
###双引号 变量或表达式可以直接嵌入引用(变量替换)
$a = "AAA";
echo "$a".'<br>';//"."点操作符连接N个字符串
###转义符
echo "\70<br>";
echo "\0x32";
###定界符:
###结尾的一行(如上例的Eof;),一定要另起一行,并且改行除了Eof;这个定界符结尾标识
###之外不能有任何其他字符,前后都不能有,包括空格 可省略";"
###可以直接写html标签输入页面内容<table>...</table>
echo <<<MY_FLAG
PHP stands for "PHP:HYpertext Preprocessor".
The action "Php" is therebefore, usually referred to as a recursive ...
MY_FLAG;
###访问字符串中的字符(使用偏移量访问字符串)PHP4中使用$str["偏移量"]访问,PHP5也支持
$str_1 = "A";
echo "str_1{1}=".$str_1{0}."<br>";
//echo "str_1{1}=".$str_1{1}."<br>"; //打印索引位1会报错,索引不存在
$str_1{2} = "D"; //直接修改索引位2不会报错
$str_1{1} = "N"; //直接修改索引位1不会报错
echo $str_1; //输出AND
###数组
array(1, 2, 3); //省略key等价于下面的这条
array(0 => 1, 1 => 2 , 2 => 3);
array(1 => 1, 2, 3);//等价于 array(1 => 1, 2 => 2, 3 => 3); 指定了key 从1开始
array(array("name" => "Jhon", "age" => 26), array("name" => "Jeff", "age" => 30));//嵌套数组,2条person记录
$arr_2 = array(1,2,3);
$arr_2[0] = 2;
print_r($arr_2);//打印数组的系统方法# 输出 Array ( [0] => 2 [1] => 2 [2] => 3 )
echo "<br>";
$arr_3[] = 1;
$arr_3[] = 2;
$arr_3[] = 3;
print_r($arr_3);//打印Array ( [0] => 1 [1] => 2 [2] => 3 )
echo "<br>";
$arr_3["name"] = "JOHN";
print_r($arr_3);//Array ( [0] => 1 [1] => 2 [2] => 3 [name] => JOHN )
echo "----------------<br>";
//使用foreach 遍历数组
foreach($arr_3 as $key => $value){
print "#$key = $value\n";
}
//$key可选的 ,如果用不到key显示的话,上面的foreach可以写成下面这样:
echo "----------------<br>";
foreach($arr_3 as $value){
echo $value."\t";
}
###常量
define("MY_OK", 0);//常量声明的公认的代码标准是全大写表示
###变量的别名 为一个变量指定一个别名后,改变别名的值该变量的值也会发生变化
$bb = "BBB";
$b = & $bb;
echo $bb."<BR>"; // print BBB
$b = "BBBBB";
echo $bb."<BR>";// print BBBBB
###运算符
// ===
echo "---------------";
print (1 === "1");
$val_2="Z";
echo ++$val_2;
###错误抑制运算符 @
###三元运算符
$val_3 = 1==1?0:1;
echo "<br>".$val_3;
###for循环注意事项,php不会帮你优化并缓存循环变量
for($i = 0; $i<count($arr_2); $i++){} //每次都会执行cout()操作,应该优化为:
$count = count($arr_2);
for($i = 0; $i<$count; $i++){}
###include "file_name"; 被包含进来的页面中的变量也可以使用了
###值传递
$x = 1;
$y = 2;
function square($x, $y){
$x = 3;
$y = 4;
}
square($x, $y);
echo $x."\n";
echo$y."\n";
###引用传递
function square1(&$x, &$y){
$x = 3;
$y = 4;
}
square1(&$x, &$y);
echo $x."\n";
echo$y."\n";
?>
4.PHP与HTML的嵌套
<?php
if(date('md')=='0526'){
$greeting = "Good Day!";
}else{
$greeting = "Good morning!";
}
?>
<html>
<head>
<title>PHP与HTML的嵌套测试</title>
</head>
<body>
<?php echo $greeting;?>
</body>
</html>
body中的代码等价于<?= $greeting;?>,服务器必须支持<?...?>的短标记形式.尽量不要使用段标记short open tag
5. != 和 !==
// 处理表单数据
public function insert() {
$Form = D("Form");
if($Form->create()) {
if(false !==$Form->add()) {
$this->success('数据添加成功!');
}else{
$this->error('数据写入错误');
}
}else{
header("Content-Type:text/html; charset=utf-8");
exit($Form->getError().' [ <A HREF="javascript:history.back()">返 回</A> ]');
}
}
手册中关于!=和!==的说明
上例中Model的Add方法返回的是影响记录ID值,如果返回为false则为错误,0为失败。由于PHP是弱类型语言。所以这里使用恒等的判断方法(恒等,及变量的数据类型、长度、值必须相等)
6.常用函数收录(不断整理中):
(1)dump此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值,可以打印数组、对象等等。
分享到:
相关推荐
### PHP学习笔记与实例解析 #### 第一章:PHP高级语法与功能 ##### PHP的`date()`函数 `date()`函数是PHP中用于格式化日期和时间的强大工具。它可以将Unix时间戳转换成人类可读的日期和时间格式。这个函数有两个...
【标题】:“当年我学PHP时整理的学习笔记” 这篇学习笔记是作者在学习PHP编程语言的过程中逐步积累并整理的,涵盖了初学者从基础到进阶的一些关键知识点。PHP是一种广泛应用于网页开发的服务器端脚本语言,尤其在...
PHP个人学习笔记
### PHP学习笔记总结 #### 一、Trim() 函数 - **功能**:Trim() 函数用于删除字符串开头和结尾的空白字符(如空格、制表符等)。这是一个非常实用的功能,在处理用户输入的数据时尤其有用,可以避免因为用户无意中...
标题:PHP学习笔记1 描述:本篇笔记旨在为初学者提供一个系统的学习路径,深入理解PHP编程语言的核心概念与实践技巧。通过本篇笔记,读者将能够掌握PHP的基础语法、变量、数据类型、控制结构、函数、面向对象编程、...
【PHP学习笔记】是作者四个月学习PHP过程中积累的个人笔记,主要涵盖了HTML基础、CSS基础以及PHP基础等核心内容。这些笔记对于初学者来说是非常有价值的资源,因为它们以小案例的形式展示了各种知识点,便于理解和...
php的学习笔记,环境配置、开发基础、问题解决
这份"php学习笔记之重要知识点总结"涵盖了PHP与MySQL的基础,旨在为学习者提供一个全面的指南。下面,我们将深入探讨这些核心概念。 首先,让我们从PHP的基础开始。PHP是一种服务器端的脚本语言,主要用于Web开发,...
【PHP学习笔记】 PHP(Hypertext Preprocessor,即“超文本预处理器”)是一种广泛应用于Web开发的开源脚本语言。它嵌入在HTML中,使得开发者可以在HTML页面中直接编写服务器端代码,实现动态网页功能。PHP的学习是...
《PHP学习笔记》 在IT领域,PHP是一种广泛使用的服务器端脚本语言,尤其适合Web开发。这篇笔记主要探讨了PHP的基本语法特性,包括它的无类型特性、continue语句的独特用法以及数组的处理。 首先,PHP是无类型的,...
【PHP学习笔记总结】 PHP(超文本预处理器)是一种广泛使用的开源脚本语言,特别适合于Web开发。它能够嵌入HTML中,让开发者在服务器端处理数据,生成动态网页内容。与JavaScript不同,PHP代码在服务器上执行,然后...
《PHP学习笔记实例代码详解》 PHP,全称“PHP:Hypertext Preprocessor”,是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发。它能够嵌入到HTML中,使得开发者可以灵活地处理动态网页内容。这篇学习笔记...