PHP基础1

数据类型

integer float string boolean array object
还有特殊的
NULL:被赋值为 NULL或者尚未被赋值
resource :资源是通过专门的函数来建立和使用的。

常量

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。

变量作用域

1、内置超级全局变量和常量全局可以用。
2、在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

<?php 
$x=5; // 全局变量 

function myTest() 
{ 
    $y=10; // 局部变量 
    echo "<p>测试函数内变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
}  

myTest(); 

echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; 
?>
<?php
$x=5;
$y=10;
 
function myTest()
{
    global $x,$y;
    $y=$x+$y;
}
 
myTest();
echo $y; // 输出 15
?>

3、当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字:

<?php
function myTest()
{
    static $x=0;
    echo $x;
    $x++;
    echo PHP_EOL;    // 换行符
}
 
myTest();
myTest();
myTest();
?>

4、函数内部创建的变量是local的。函数终止时,该变量也就不存在了。

引用操作符

$a=5;$b=$a;两行代码首先产生一个$a的副本,改变$a,$b不会改变。

$a=5;$b=&$a;不会一个$a的副本,改变$a,$b指向同一个地址。改变$a 就是改变$b 。改变后unset($a);也不影响$b。

@错误抑制符

错误会保留着$php_errormsg

执行操作符

PHP将反向单引号(``)当做服务端命令来执行。

$x=`ls -al`;
 echo '<pre>'.$x.'</pre>';

echo 和 print 语句

echo 和print都不是函数
print比echo慢
echo可以输出一个或多个字符串,print只允许输出一个字符串,返回值总为 1

gettype(),settype()获取和设置变量类型

break 跳出循环,contine 继续下一次循环,exit结束循环。

文件处理

fopen() 打开
feof() 函数检测是否已到达文件末尾
fgets() 函数用于从文件中逐行读取文件
fgetc() 函数用于从文件中逐字符地读取文件。
fclose()关闭

读取整个文件 readfile()、fpassthru()、file()、file_get_contents()
fread() 函数用于读取文件取任意长度
file_exists()查看文件是否存在
filesize()确定文件大小
unlink()删除文件

array()是语句结构不是函数。

数组常用方法

each() - 返回当前元素的键名和键值,并将内部指针向前移动。
current() - 返回数组中的当前元素的值。
end() - 将内部指针指向数组中的最后一个元素,并输出。
next() - 将内部指针指向数组中的下一个元素,并输出。
prev() - 将内部指针指向数组中的上一个元素,并输出。
reset() - 将内部指针指向数组中的第一个元素,并输出。
list() 函数用于在一次操作中给一组变量赋值。 注释:该函数只用于数字索引的数组。

<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
 
reset($people);
 
while (list($key, $val) = each($people))
{
    echo "$key => $val<br>";
}
?>

sort() 函数对数值数组进行升序排序。
asort() 函数对关联数组按照键值进行升序排序。
ksort() 函数对关联数组按照键名进行升序排序。
rsort() 函数对数值数组进行降序排序
krsort() 函数对关联数组按照键名进行降序排序
arsort() 函数对关联数组按照键值进行降序排序。

usort() 函数 使用用户自定义的比较函数对数组 中的元素进行排序

shuffle() 函数把数组中的元素按随机顺序重新排列。
array_reverse() 函数返回翻转顺序的数组。

array_pop() 函数删除数组中的最后一个元素。
array_push() 函数向数组尾部插入一个或多个元素。
explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。
implode() 函数返回一个由数组元素组合成的字符串。

统计
count() 函数返回数组中元素的数目。count(array,mode);
	0 - 默认。不计算多维数组中的所有元素。
	1 - 递归地计算数组中元素的数目(计算多维数组中的所有元素)。
sizeof() 函数返回数组中元素的数目。sizeof() 函数是 count() 函数的别名。
array_count_values() 函数用于统计数组中所有值出现的次数。

array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。

将数组转化为标量变量extract() 函数
	从数组中将变量导入到当前的符号表,非数字索引数组
	该函数使用数组键名作为变量名,使用数组键值作为变量值。
	针对数组中的每个元素,将在当前符号表中创建对应的一个变量。




string 和正则

  1. 字符串格式化
字符串整理
trim() 函数移除字符串两侧的空白字符或其他预定义字符。
ltrim() - 移除字符串左侧的空白字符或其他预定义字符。
rtrim() - 移除字符串右侧的空白字符或其他预定义字符。

格式化字符串以便显示
nl2br() 函数在字符串中的每个新行(\n)之前插入 HTML 换行符(<br> 或 <br />)。
printf() 函数输出格式化的字符串在浏览器中输出
sprintf() 函数把格式化的字符串写入一个变量中。

改变字符串字母的大小写
strtoupper() 函数把字符串转换为大写。
strtolower() - 把字符串转换为小写
lcfirst() - 把字符串中的首字符转换为小写
ucfirst() - 把字符串中的首字符转换为大写
ucwords() - 把字符串中每个单词的首字符转换为大写

格式化字符串以便存储
addslashes() 函数返回在预定义的字符前添加反斜杠的字符串。预定义字符是:单引号(')双引号(")反斜杠(\)NULL
stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
  1. 用字符串函数连接和分割字符串
explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。
implode() 函数返回一个由数组元素组合成的字符串。
join() 函数返回一个由数组元素组合成的字符串。join() 函数是 implode() 函数的别名。
substr(string,start,length)。substr() 函数返回字符串的一部分。


 strtok() 函数把字符串分割为更小的字符串(标记)。
		在下面的实例中,请注意,我们仅在第一次调用 strtok() 函数时使用了 string 参数。在首次调用后,该函数仅需要 split 参数,这是因为它清楚自己在当前字符串中所在的位置。如需分割一个新的字符串,请再次调用带 string 参数的 strtok():
		<?php
		$string = "Hello world. Beautiful day today.";
		$token = strtok($string, " ");
		
		while ($token != false)
		{
		echo "$token<br>";
		$token = strtok(" ");
		} 
		?>

  1. 字符串比较
字符串排序
strcmp() 函数比较两个字符串(区分大小写)。返回:0 - 如果两个字符串相等;<0 - 如果 string1 小于 string2;>0 - 如果 string1 大于 string2
 strcasecmp() 比较两个字符串(不区分大小写)。用法同strcmp。

strlen() 函数返回字符串的长度。
  1. 使用字符串匹配和替换子字符串
在字符串中查找字符串
strstr() 函数搜索字符串在另一字符串中是否存在,(区分大小写)如果是,返回该字符串及剩余部分,否则返回 FALSE。
stristr() (不区分大小写)同strstr

查找子字符串的位置
strpos() f函数查找字符串在另一字符串中第一次出现的位置(区分大小写)。
strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
strripos() -查找字符串在另一字符串中最后一次出现的位置(不区分大小写)

替代子字符串
str_replace(find,replace,string,count) 替换字符串中的一些字符(区分大小写)。
substr_replace(string,replacement,start,length) 把字符串的一部分替换为另一个字符串

  1. 正则
preg_replace 函数执行一个正则表达式的搜索和替换。
preg_filter() 等价于 preg_replace() ,但它仅仅返回与目标匹配的结果。
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) 匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值