PHP 学习笔记(一)

为了拓展知识面,学习了一些PHP的相关知识,汇总、分享。

一、PHP echo 和 print 语句
1、echo 和 print 之间的差异:
        echo - 能够输出一个以上的字符串
        print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
2、echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
二、字符串
1、字符串可以是引号内的任何文本。您可以使用单引号或双引号:
例如:$x = "Hello world!";  $x = 'Hello world!'; 都可以
三、
1、整数可以用三种格式规定:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
2、浮点数是有小数点或指数形式的数字。
3、逻辑是 true 或 false。
四、
1、数组在一个变量中存储多个值。 var_dump() 会返回变量的数据类型和值:
例如:<?php 
     $cars=array("Volvo","BMW","SAAB");
     var_dump($cars);
     ?>
输出结果:array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }
五、PHP对象
1、对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:

输入:
class Car
{
    var $color;
    function Car($color="green") {
      $this->color = $color;
    }
    function what_color() {
      return $this->color;
    }
}

function print_vars($obj) {
   foreach (get_object_vars($obj) as $prop => $val) {
     echo "\t$prop = $val\n";
   }
}

// instantiate one object
$herbie = new Car("white");

// show herbie properties
echo "\herbie: Properties\n";
print_vars($herbie);

?>  

输出:\herbie: Properties color = white

PHP --- 字符串函数

1、strlen() 函数返回字符串的长度,以字符计。

<?php
echo strlen("Hello world!");
?>    
输出:12
提示:strlen() 常用于循环和其他函数,来确定字符串何时结束。
例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环。
2、strpos() 函数用于检索字符串内指定的字符或文本。
<?php
echo strpos("Hello world!","world");
?>
输出:6
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。

PHP 常量

常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。

一、设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:
1、首个参数定义常量的名称
2、第二个参数定义常量的值
3、可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":

例一:
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
echo "<br>";   //用来换行
echo greeting;
?>
输出:Welcome to W3School.com.cn!
     greeting

例二:
<?php
define("GREETING", "Welcome to W3School.com.cn!", true);
echo GREETING;
echo "<br>";  //用来换行
echo greeting;
?>
输出:Welcome to W3School.com.cn!
     Welcome to W3School.com.cn!

PHP--- 条件语句

在 PHP 中,我们可以使用以下条件语句:

  • if 语句 - 如果指定条件为真,则执行代码
  • if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
  • if...elseif....else 语句 - 选择若干段代码块之一来执行
  • switch 语句 - 语句多个代码块之一来执行

PHP --- 循环语句

在 PHP 中,我们有以下循环语句:

  • while - 只要指定条件为真,则循环代码块
<?php 
$x=1; 
while($x<=5) {
  echo "这个数字是:$x <br>";
  $x++;
} 
?>
  • do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
  • for - 循环代码块指定次数
<?php 
for ($x=0; $x<=10; $x++) {
  echo "数字是:$x <br>";
} 
?>
  • foreach - 遍历数组中的每个元素并循环代码块
<?php 
$colors = array("red","green","blue","yellow"); 
foreach ($colors as $value) {
   echo "$value <br>";
}
?>

PHP --- 函数
1、用户定义的函数声明以关单 "function" 开头:

<?php
function writeMsg() {   //函数的定义
   echo "Hello world!";
}
writeMsg();   //函数的调用
?>

注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。

2、带参函数

例一:单个参数
<?php
function familyName($fname) {
  echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
?>
打印:Li Zhang.
     Hong Zhang.

例二:多个参数
<?php
function familyName($fname,$year) {
  echo "$fname Zhang. Born in $year <br>";
}

familyName("Li","1975");
familyName("Hong","1978");
?>
打印:Li Zhang. Born in 1975 
     Hong Zhang. Born in 1978 

例三:带默认值
<?php
function setHeight($minheight=50) {
   echo "高度是:$minheight <br>";
}
setHeight(350);
setHeight();   //未输入参数,使用默认参数
?>
输出:高度是:350 
高度是:50 

例四:带返回值,使用 return 语句:
<?php
function sum($x,$y) {
   $z=$x+$y;
   return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . 
?>

PHP --- 数组
在 PHP 中, array() 函数用于创建数组:
在 PHP 中,有三种数组类型:

  • 索引数组 - 带有数字索引的数组
    一、两种创建索引数组的方法:
    1、 索引是自动分配的(索引从 0 开始):
    $cars=array("Volvo","BMW","SAAB");
    2、也可以手动分配索引:
    $cars[0]="Volvo";
    $cars[1]="BMW";
    $cars[2]="SAAB";
    二、获得数组的长度 - count() 函数
    <?php
    $cars=array("Volvo","BMW","SAAB");
    echo count($cars);
    ?>
    打印:3
    三、遍历索引数组
    <?php
    $cars=array("Volvo","BMW","SAAB");
    $arrlength=count($cars);
    for($x=0;$x<$arrlength;$x++) {
    echo $cars[$x];
    echo "
    "; //换行
    }
    ?>
  • 关联数组 - 带有指定键的数组
    1、关联数组是使用您分配给数组的指定键的数组。
    2、有两种创建关联数组的方法:
    方法一:
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    方法二
    $age['Peter']="35";
    $age['Ben']="37";
    $age['Joe']="43";
  • 多维数组 - 包含一个或多个数组的数组
    后续学习

PHP --- 数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序
例一:对数组进行排序
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);   //升序排列

$clength=count($cars);  //打印函数
for($x=0;$x<$clength;$x++)
   {
   echo $cars[$x];
   echo "<br>";
   }
?>

例二:根据值对数组进行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age); // 排序

foreach($age as $x=>$x_value)
    {
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
    }
?>

例三:根据键对数组进行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age); // 排序

foreach($age as $x=>$x_value)
    {
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
    }
?>

PHP --- 全局变量 (这里介绍的并不全面)
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

  • $GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
    PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
<?php 
$x = 75; 
$y = 25;
function addition() { 
  $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];   //$GLOBALS[ ] 全局变量 
}
addition(); 
echo $z; 
?>
  • $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息
  • $_REQUEST 用于收集 HTML 表单提交的数据。
下面的例子展示了一个包含输入字段及提交按钮的表单。
当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到 <form> 标签的 action 属性中指定的脚本文件。
在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。
然后,我们可以使用超级全局变量 $_REQUEST 来收集 input 字段的值:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_REQUEST['fname']; 
echo $name; 
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • 2016/10/24 1.php代码放在 <?php //单行注释 /* 多行 注释 */ ?> 2.PHP变量 ...
    ryanWSJ阅读 651评论 0 2
  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 3,070评论 4 97
  • 一、数组 1、数组定义 数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。 $...
    空谷悠阅读 799评论 4 11
  • PHP简介 PHP是一种被广泛使用的开源脚本语言,脚本在服务器上运行。PHP文件能包括文本,HTML,CSS以及P...
    vivian_219阅读 432评论 1 1
  • * 【goto】5.3+ 版本 */ 用来跳转到程序中的某一指定位置 该目标位置可以用目标名称加上冒号来标记。 P...
    Omit03阅读 529评论 0 0