1、echo
输出一个或多个表达式,没有额外的换行符或者空格。
跟 print 的主要区别是
echo
接受多个参数且没有返回值。
echo $username . '<br/>';
2、var_dump
打印变量的相关信息
var_dump($username);
3、array_sum
将数组中的所有值相加,并返回结果。
$sum = function(...$args){
return array_sum($args);
};
4、array_filter
使用回调函数过滤数组的元素(在回调函数中的参数是解构后的数组元素)
示例1:
<?php
function odd($var)
{
// 返回输入整数是否为奇数(单数)
return $var & 1;
}
function even($var)
{
// 返回输入整数是否为偶数
return !($var & 1);
}
$array1 = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$array2 = [6, 7, 8, 9, 10, 11, 12];
echo "Odd :\n";
//odd是一个函数名,array_filter的第二个参数是一个双引号引用的函数名
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>
以上例程会输出:
Odd : Array ( [a] => 1 [c] => 3 [e] => 5 ) Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )
如果没有提供 callback
回调函数(即array_filter没有第二个参数),将删除数组中 array
的所有“空”元素。
示例2:
<?php
//array_filter(),只返回数组中为true的元素组成的数组
//空对象不能转为false,但是空数组是false
//php自动转为false的值,null,false,空数组,空字符串,0,'0'
$entry = [
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => '',
5 => '0',
6 => 0,
];
print_r(array_filter($entry));
?>
以上例程会输出:
Array ( [0] => foo [2] => -1 )
示例3:(匿名函数/闭包函数:临时创建一个没有指定名称的函数)
$arr = [33,22,4,6,53,9,64];
//任务返回大于或等于某个数的成员,以数组方式返回
function getItems($arr,$value): array
{
return array_filter($arr,function($item) use ($value){
return $item>$value;
});
}
5、empty
判断变量是否为是空。当变量不存在或者它的值等于
false
,那么视为空。如果变量不存在,empty() 不会产生警告。
empty() 本质上与 !isset($var) || $var == false 等价。
<?php
$var = 0;
// 因为 $var 为空,所以计算结果为 true
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}
// 因为 $var 已赋值,所以计算结果为 true
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>
6、print_r
以人类可读的方式显示变量的信息。
示例1:
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
以上例程会输出:
Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) )
示例2:(return参数的例子)
<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results 包含了 print_r 的输出
?>
想要捕获 print_r() 的输出,请使用
return
参数。当此参数为true
,print_r() 将返回信息,而不是打印它。
示例3:
//print_r参数 true:只打印,不返回
print_r($arr,true);
//不是看不到了,只是返回给调用者了.(返回给当前屏幕,可以用echo查看)
echo print_r($arr,true);
Array ( [0] => red [1] => green [2] => blue )
7、implode
返回一个包含所有数组元素并且顺序相同的字符串, 每个元素之间有 separator 分隔。
<?php
$array = ['lastname', 'email', 'phone'];
var_dump(implode(",", $array)); // string(20) "lastname,email,phone"
// Empty string when using an empty array:
var_dump(implode('hello', [])); // string(0) ""
// The separator is optional:
var_dump(implode(['a', 'b', 'c'])); // string(3) "abc"
?>
8、join
join是implode的别名
9、var_dump
打印变量的相关信息,没有返回值
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
以上例程会输出:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } }
<?php
$b = 3.1;
$c = true;
var_dump($b, $c);
?>
以上例程会输出:
float(3.1) bool(true)
10、 <pre>格式化打印
//格式化打印
echo '<pre>' . print_r($arr,true) . '</pre>';
以上例程会输出:
Array ( [0] => red [1] => green [2] => blue )