美文网首页
PHP 各种语法总结

PHP 各种语法总结

作者: 齐舞647 | 来源:发表于2017-06-29 21:03 被阅读27次

最近,想学一门脚本语言,
所以初学PHP,
作一些比较基础的语法总结

变量:$

//integer:
$i = 2468;      // 十进制
$i = -1357;     // 负数
$i = 0123;      // 0 八进制
$i = 0x456;     // 0x 十六进制

//float:
$f = 12.34;     // 1.2 X 10^3
$f = 1.2e3;

//string:
$s1 = "PHP string";
$v = "string";
$s2 = "PHP$v";   //输出PHPstring
$s3 = "PHP\$v"   //输出PHP$v

//array:
$arr = array('spring','summer','fall','winter');
echo $arr[0];

$sys = array(
"server"=>"Apache2",
"os"=>"ubuntu",
"db"=>"MySQL",
);
echo $sys["server"];
echo "<br/>";
echo $sys["db"];

//可强转:
$foo = 10;
$foo = (boolean) $foo;

//可变变量:
$i = "abc";
$$i = "xyz";  //等价于:$abc = "xyz";

常量:define

define(PHP,"best language");

for循环:

define(PI,3.14);
for($r=1;$r<=10;$r++){
      $area = PI * $r *$r;
      if($area  > 100)
                break;
echo "r = $r , area = $area";
echo "<br/>";
}

函数:function 区别于C/C++...

在C中,全局变量在函数中自动生效,除非被局部变量覆盖。
在PHP中,函数外的参数,无法在函数内访问,除非传参数地址引用。
或者使用global在函数中声明这是全局变量。
原因是作用域不一样。

function say_hello($some_name){
    echo "Hello ,".$some_name;
    echo "<br/>";
}
say_hello("MrLiu");


$a = 1;
$b = 2;
function sum1(&$a,&$b){
    $b = $a + $b;
}
function sum2(){
    global $a,$b;    //global声明全局 去找全局变量$a,$b
    $b = $a + $b;
}

echo '$a + $b = '.$b;

数组:添加了索引,更快更方便找到数组元素。

//1
<?php
$ms_office = array(
'word',
'excel',
'outlook',
'access'
);

foreach($ms_office as $software){    //使用foreach遍历数组$ms_office的值
      echo $software;        //输出数组$ms_office中的值
      echo "<br/>";
      echo "<br/>";
}

print_r($ms_office);    //使用print_r遍历输出数组

$item_num = count($ms_office);
echo '数组$ms_office的元素个数为:'.$item_num;
?>

//2
<?php
$ms_office = array(
'wd'=>'word',
'ec'=>'excel',
'ol'=>'outlook',
'ac'=>'access'
);
foreach($ms_office as $key=>$value){    //使用foreach遍历数组$ms_office的值
      echo $key.":".$value;            //输出数组$ms_office中的值
      echo "<br/>";
      echo "<br/>";
}

echo "<pre>";
print_r($ms_office);        //有序输出数组$ms_office的结构
?>

数组的各种操作:

//数组分割:
array array_chunk(array $input_array, int $size, bool preserve);

//数组合并
array array_merge($array....)

//返回数组当前元素
current($array[..]);

//返回当前元素的下一个元素,指针移到下一个。
next($array[..]);

//返回当前元素的上一个元素,指针移到上一个。
prev($array[..]);

//返回数组的最后一个元素的值
end($array);

//清除索引,正向排序,字母由前到后,数字由小到大。
bool sort(array &$arr [,int $sort_flag]);

//清除索引,逆向排序
bool rsort(array &$arr [,int $sort_flag]);

//保持索引,正向排序
asort();

//保持索引,按索引名正向排序
ksort();

//随机排序,去键名
bool shuffle(array $array);

//按原顺序反向排序
array array_reverse(array $array [,bool $preserve_keys]);

//重置数组:函数内部指针指回数组第一个元素
mixed reset(array &$arr);

//用数组对变量赋值
$planet = array(
.....
)
list($no1,$no2,$no3) = $planet;

//快速创建数组:
echo '<pre>';
$arr1 = range(5,10);
print_r($arr1);
$arr2 = range('a','f');
print_r($arr2);
$arr3 = range(2,10,2);
print_r($arr3);

//压入数组元素在末端
int array_push(array $array,mixed $var);

//弹出数组元素在末端
mixed array_pop(array $array);

//改变数组字符索引名的大小写
array array_change_key_case()

//数组之间的交集
array array_intersect(array $arr1,array $arr2....);
//加索引取交集
array array_intersect_assoc(array $arr1,array $arr2...);

//数组之间的差集
array array_diff(array $arr1,array $arr2...);
//加索引算差集
array array_diff_assoc(array $arr1,array $arr2...);

//交换数组索引和元素
array array_flip(array $arr);

//快速填充数组元素
array array_fill(int $start,int $num,mixed $value);

//统计数组元素出现次数
array array_count_values(array $arr);

//检查数组索引是否存在
bool array_key_exists(mixed $key,array $search);

//取得数组中的索引索引
array array_keys(array $arr [, mixed $search_value [, bool $strict]]);

//用回调函数处理数组
array array_map(callback_func,array $arr1...);

//判断某个值是否存在于数组
in_array();

//获取数组中当前单元的索引值
.key($array array);

字符串:

PHP对字符串处理的完美支持,是PHP的强大功能之一。

//分割字符串
array explode(string $separator, string $str [,int $limit]);
$arr = explode(',',$str);
$arr = explode(',',$str,2);

//合并字符串
string implode(string $bds,array $arr);

//比较两个字符串大小
int strcmp(string $str1,string $str2);

//字符串的替换
string str_replace(string $search,string);

//输出打印字符串
int print(string $str);

//格式化字符串
string sprint(string $format, mixed $args);

//获取字符串中的一个子串
string substr(string $str, int $start, int $length);

//删除字符串末尾的空白字符
string rtrim(string $str);
//删除字符串开始部分的空白字符
string ltrim(string $str);
//删除字符串两头的空白字符
string trim(string $str);

//获取字符串长度
int strlen(string $str);

//小写字母转大写字母
strtolower($str);
//大写字母转小写字母
strtoupper($str);

//将字符串中有关字符转换成HTML实体,即HTML字符编码。
string htmlentities(string $str);

//将HTML实体转换成相关的字符,和htmlentities逆运算
string html_entity_decode(string $str);

//多次生成一个字符串,重复生成
string str_repeat(string $input, int $num);

//将字符串分析到变量
void parse_str(string $str [, array $arr]);

//转换字符串到数组
array str_split(string $str [, int $split_length]);

//MD5散列加密
string md5(string $str);

//SHA1散列加密
string sha1(string $str);

PHP操作目录和文件

目录操作:

//打开目录
$dh = opendir(string $path);

//关闭目录
void closedir($dh);

//获取目录中下一个文件的文件名
string readdir($dh);

$dir = "D:\files";
if($dh = opendir($dir)){
      while(($file_name = readdir($dh)) != FALSE){
            echo "file name:".$file_name;
            echo "<br/>";
            echo "<br/>";
      }
      closedir($dh);
}

//列出某一目录下的所有文件
array scandir(string $directory);

$dir = "D:\files";
$file_list1 = scandir($dir);
$file_list2 = scandir($dir,1);    //字母降序输出
echo "<pre>";
print_r($file_list1);
print_r($file_list2);

//获取PHP当前工作目录
echo getcwd();

//改变PHP当前工作目录
chdir("dir_test");

文件操作:

//打开文件
$fp = fopen(string $filename , string $mode);
$fp = fopen($_SERVER['DOCUMENT_ROOT']."/../files/read.txt","w");
$fp = fopen("D:\\data\\log.bat");

//关闭文件
fclose($fp);

//读入文件的整个内容
int readfile(string $filename);

//将整个文件读入一个数组
array file(string $filename ,[int include_path]);

//整个文件内容读入一个字符串
string get_file_contents(string $filename);

//向文件写入内容
int fwrite($fp, string $content [, int $length]);
int fputs($fp, string $content [, int $length]);
int file_put_contents(string $filename, string $data);

//获取文件的相关信息
fileowner(string filename);
filesize(string filename);
filetype(string filename);

//判断文件性质的函数
is_dir($filename);          //是否是目录
is_file($filename);         //判断是否是普通文件
is_readable($filename);     //判断指定的文件是否可读
is_writeable($filename);    //判断指定的文件是否可写

//获取路径中的文件名
string basename(string $path);

//获取路径中的目录名
string dirname(string $path);

//判断文件或目录是否存在
bool file_exists(string $filename);

//用PHP建立目录
mkdir($dir_name);

//删除一个目录
rmdir($dir_name);

//复制文件
copy($source,$desc);

//删除由参数$file指定的文件
unlink($file);

//文件重命名
rename($oldname,$newname);

//PHP处理文件的锁定 限制操作,避免出现两个程序同时操作同一个文件出错。
bool flock($fp, int $operation [,int &wouldblock]);

flock($fp,LOCK_SH);        //读锁定
flock($fp,LOCK_EX);        //写锁定
flock($fp,LOCK_UN);        //释放锁定
flock($fp,LOCK_NB);        //防止锁定时阻塞

//PHP更改文件的属性
chmod("/home/log/del.sh",0777);    //将文件改为 所有人可读可写可执行
chown("/etc/password","root");      //将文件的所有者改为root

//获取文件时间属性
$last_access = fileatime("data.txt");      //获取文件的上次访问时间
$last_modify = filemtime("data.txt");      //获取文件的上次修改时间
$last_modify_inode = filectime("data.txt");      //获取文件上次inode被修改的时间

//通过HTTP协议打开文件
$file = fopen("http://localhost/ch06/server_data.txt","r");

//读取文件内容
string fgetss(resourse $handle);

//包含指定的文件到当前文件
include("1.php");      //遇到错误产生警告
require("1.php");      //遇到错误直接崩溃

用PHP处理日期和时间

//获取格式化的日期和时间
string date(string $format [, int timestamp]);
echo date('Y-m-d');

//将一个日期和时间转换成一个UNIX时间戳
int mktime(int $hour ,int $minute , int $second, int $month,int day,int $year);

//返回当前日期和时间的UNIX时间戳
$cur_timestamp = mktime();
mktime(0,0,0,1,1);      //返回当前年份1月1日的UNIX时间戳

//获取日期和时间
array getdate([int $timestamp]); 

//时间差
$national_day_year = floor($national_time/(365*24*60*60));    //相距的年数
$national_day_day = floor($national_time/(24*60*60));    //相距的天数

//检查时间的有效性
bool checkdate(int $month, int $day, int $year);

PHP对URL、HTTP的处理

//对URL进行编码
string urlencode(string $str);
//对URL进行解码
string urldecode(string $str);
//对URL地址进行分析
parse_url($url);
//生成一个HTTP头
header(string $str_header);
//获取HTTP头信息
print_r($_SERVER);
//生成cookie
bool setcookie(string name[, string value [,int expire [, string path [,string domain [,bool secure]]]]]);
//获取cookie
setcookie("testcookie","ilovephp");        //设置cookie
echo "cookie's value:".$_COOKIE['testcookie'];  //输出指定的cookie
//cookie的有效期
setcookie('cookie_one','i_am_cookie1',time()+60*60);  //设置cookie 1个小时后失效
setcookie('cookie_two','i_am_cookie2',time()+60*60*24);  //设置cookie 1天后失效
setcookie('cookie_three','i_am_cookie3',mktime(12,0,0,1,1,2018));//2018年1月1号失效
setcookie('mycookie','delicious',0);  //浏览器关闭后失效

//cookie的有效路径
secookie('mycookie','delicious',0,'/ck_path/');
//删除cookie
setcookie('mycookie','');

PHP中的数学运算

//返回参数$num的绝对值
abs($num);
//返回不小于$num的整数
ceil($num);
//返回不大于$num的整数
floor($num);
//返回参数$num的平方根
sqrt($num);
//对浮点数$num根据精度$precision四舍五入
round($num,$precision);

//将十进制转换成二进制
decbin($num);
//将十进制转换成十六进制
dechex($num);
//将十进制转换成八进制
decoct($num);
//将二进制转换成十进制
bindec($num);
//将十六进制转换成十进制
hexdec($num);
//将八进制转换成十进制
octdec($num);
//将$from所表示进制的数$num转换成以$to所表示的进制数后,返回转换后进制的数字字符串
base_convert($num,$from,$to);

//生成随机数
int mt_rand(int $min, int $max);

PHP获取系统信息

//获取环境变量
$root = getenv('DOCUMENT_ROOT');
//获取服务器端口
$port = getenv('SERVER_PORT');
//获取当前文件
$file = getenv('SCRIPT_NAME');
//获取当前用户
$ua = getenv('HTTP_USER_AGENT');
//获取请求方法
$method = getenv('REQUEST_METHOD');
//获取传输协议
$protocol = getenv('SERVER_PROTOCOL');

//添加一个环境变量并且为其赋值
bool putenv(string $env_setting);

$env_var = newenv;
putenv("MY_ENV = $env_var");

//返回一个数组,其中包含所有被编译和装载的模块
$exten_list = get_loaded_extensions();  //获取载入的扩展模块

//返回一个数组,包含了由参数$module指定模块的所有函数名称
$ext_func = get_extension_funcs($extension);

//获取PHP当前各类信息
echo phpinfo();

//获取当前PHP进程的进程号
echo "该进程ID号:".getmypid();

//获取当前PHP进程的所有者
echo "该程序所有者:".get_current_user();

相关文章

  • PHP 各种语法总结

    最近,想学一门脚本语言,所以初学PHP,作一些比较基础的语法总结 变量:$ 常量:define for循环: 函数...

  • PHP的编译与执行

    分析PHP的执行编译过程 博主总结的PHP编译过程非常到位PHP词法分析ASTAST的遍历抽象语法树编译过程 相关...

  • PHP从入门到精通,045第四章PHP——PHP基本语法(DAY

    三、PHP基本语法 1、PHP的标示符 语法:PHP不允许出现中文的文件名 2...

  • PHP学习随笔.1

    PHP的语法 php的语法是结尾的 PHP的标记风格 PHP和其他的Web的语言一样,都是使用...

  • 2019-02-11

    MarkDown 基础语法总结 各种header,比如# ,## ,###等等,=====,------多级标题...

  • PHP的语法

    PHP语法 PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。 基本的 PHP 语法 PHP 脚本...

  • php的基本语法形式

    形式1(推荐): 形式2(推荐): 这里要写符合php语法的语句 形...

  • 2018-07-16

    Markdown基本语法总结 各种header # ## ###,=====,------文字修饰**,_分隔符-...

  • PHP基础

    PHP基础 这两天有个课程项目需要用PHP操作下数据库,学习完简单总结下PHP基本语法,以及操作数据库的代码,方便...

  • PHP笔记

    PHP笔记 ##php****基础语法****1.****变量...

网友评论

      本文标题:PHP 各种语法总结

      本文链接:https://www.haomeiwen.com/subject/mdevcxtx.html