PHP常用方法和使用技巧

Posted Bug挖掘机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP常用方法和使用技巧相关的知识,希望对你有一定的参考价值。


文章目录


创建空数组三种方法

$emptyArray = [];   #php 5.4以后支持该写法
$emptyArray = array();
$emptyArray = (array) null;

参考链接https://www.jb51.net/article/156161.htm

空数组赋值

例子1
注意:数组下标(索引),从0开始自动递增,数组名后的[]当中可以不写具体数字

$My_array=array();
$My_array[]="www" ;
$My_array[]="helpphp";
$My_array[]="cn”;

#等效于
$My_array=array();
$My_array[0]="www" ;
$My_array[1]="helpphp";
$My_array[2]="cn”;

例子2

/*
使用$arr[] 赋值时,新产生的下标是当前索引下标的最大值+1
*/
$arr = array(); // 定义空数组
$arr[] = 2; // 默认产生的是索引下标,从0开始
$arr[2] = 1; // 下标是几 下标为2
$arr[] = 2; // 3 下标为3
$arr[1] = 3; //下标为1
$arr[] = 5; // 这是几
$arr[20] = 1;
$arr[] = 22;
$arr[1] = 6; //下标重复,等同于重新为数组下标1赋值,下标1的值从3变为6

print_r($arr); //运行结果

例子2,运行结果

Array
(
[0] => 2
[2] => 1
[3] => 2
[1] => 6
[4] => 5
[20] => 1
[21] => 22
)

打印数组的两种方法

(1)print_r函数

<?php
$arr_test = array(1, 2, 3);
print_r($arr_test);
?>

运行结果

Array
( [0] => 1 [1] => 2 [2] => 3 )

(2)var_dump()函数

<?php
$arr_test = array(1, 2, 3);
var_dump($arr_test);
?>

运行结果

array(3)

参考链接
​​​ https://www.php.cn/php-ask-430384.html​

打印变量类型

使用var_dump函数获得变量的类型,该函数可以直接打印变量类型
使用gettype函数获得变量的类型,使用ehco输出变量类型

条件赋值(运用&&的运行机制)

<?php

$nowCount=5;
$needCount=2;
$nowCount >= $needCount && $nowCount = $needCount;

echo $nowCount,$needCount;

作用是满足条件就赋值,因为&&的执行必须是要先满足上一个条件后,才会执行后面的语句

php单下划线和双下划线方法

有2个下划线的是魔术方法,如:__construct、__destruct等等。

有1个下划线的一般是私有方法,如 _initialize。

小测试:

public function _test()
echo 我是_test;


public function test()
echo 我是test;


$this->_test();

分别访问两个方法,只有test方法有输出,证明_test是私有的方法。

参考链接​

php 0==null 为true

在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串。两者的区别是双等号不比较类型,三等号会比较类型,它不转换类型;用双等号进行比较时,如果等号左右两边有数字类型的值,刚会把另一个值转化为数字,然后进行比较。这样的话,如果是纯字符串或者NULL时,会转化为0进行比较。同样,大小于号也和等号一样,比较时可能出现不正确的结果。

"==" 是比较字符串内容  
"==="是比较类型和值
"==" 比较的时候会把值转换成同一种类型进行比较 如 0,null 都转换成了0 进行比较了。所以 0==null;

php的三元运算符

用法1

<?php
$test = 菜鸟教程; // 普通写法
$username = isset($test) ? $test : nobody;
echo $username, PHP_EOL; // PHP 5.3+ 版本写法
$username = $test ?: nobody; //等价 $test ? $test: nobody
echo $username, PHP_EOL;
?>

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

用法2

$argv[1]="22";
$type = isset($argv[1]) ? $type = 5 : 0;

echo $type;

原理,只要argv[‘1’]存在,那么执行type赋值语句

isset和unset

(1)unset方法
销毁变量
(2)isset方法
isset函数是检测变量是否设置

格式:bool isset ( mixed var [, mixed var [, …]] )

返回值:
若变量不存在,返回 FALSE
若变量存在且其值为NULL,返回 FALSE
若变量存在且值不为NULL,返回 TURE

整型和字符串互相转化

intval方法 转化为整型
strval方法 转化为字符串

echo intval(42); // 42
echo intval(4.2); // 4
echo intval(42); // 42
echo intval(+42); // 42

echo strval(42)

header方法

在发送任何请求之前,可以设置报文头

header("Content-Type: application/json;charset=utf-8");

参考链接https://www.w3school.com.cn/php/func_http_header.asp


以上是关于PHP常用方法和使用技巧的主要内容,如果未能解决你的问题,请参考以下文章

PHP 两个等号 和 三个等号的区别

盘点4种常用的推荐算法

字符串的format方法

PHP基础知识

PHP常用方法和使用技巧

根据你的理解,简要说明使用双等号(==)和equals()方法判断两个字符串是不是相等有啥区别