php常用函数

简介:

array_combine
功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值
案例:

复制代码
<?php
$a = array("one","two","three");
$b = array("一","二","三");
$c = array_combine($a,$b);
print_r($c);
/**结果
*Array ( [one] => 一 [two] => 二 [three] => 三 )
*/
复制代码

 


array_chunk
功能:拆分数组成多个数组

复制代码
<?php
$input_array = array("a"=>"apple","b"=>"blue","c","d","e");
echo "<pre>";
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2,True));
echo "</pre>";
/**结果
Array
(
    [0] => Array
        (
            [0] => apple
            [1] => blue
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [a] => apple
            [b] => blue
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [2] => e
        )

)
*/
复制代码

 


array_count_values
功能:统计数组中值出现的次数

复制代码
<?php
$input_array = array("a"=>"apple","b"=>"blue","c","d","e");
echo "<pre>";
print_r(array_count_values($input_array));
echo "</pre>";
/**结果
Array
(
    [apple] => 1
    [blue] => 1
    [c] => 1
    [d] => 1
    [e] => 1
)
*/
复制代码

 



array_diff
功能:第一个数组中去掉第二个数组中有的数据,返回剩下的内容作为结果

复制代码
<?php
$array1 = array("a"=>"apple","b"=>"blue","c","d","e");
$array2 = array("apple","c","d","f");
$result = array_diff($array1, $array2);
$result2 = array_diff($array2, $array1);
echo "<pre>";
print_r($result);//数组1中去掉数组2中剩下的
print_r($result2);//数组2中去掉数组1中剩下的
echo "</pre>";
/**结果
Array
(
    [b] => blue
    [2] => e
)
Array
(
    [3] => f
)
*/
复制代码

 

array_map
功能:将回调函数执行到数组中

复制代码
<?php
//定义回调函数
function cube($n){
    return ($n*$n*$n);
}
$a = array(1,2,3,4,5);
$b = array_map("cube",$a);
echo "<pre>";
print_r($b);
echo "</pre>";

/**结果
Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)
*/
复制代码

 



array_merge
功能:合并一个或多个数组
说明:如果后面有键名相同的会覆盖掉前面的内容,键名为数字的会添加到后面

复制代码
<?php
$array1 = array("color"=>"red",2,4);
$array2 = array("a","b","color"=>"green","shape"=>"trapezoid",4);
$result1 = array_merge($array1,$array2);
$result2 = array_merge_recursive($array1,$array2);
echo "<pre>";
print_r($result1);
print_r($result2);
echo "</pre>";

/**结果
Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)
Array
(
    [color] => Array
        (
            [0] => red
            [1] => green
        )

    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)
*/
复制代码

 



array_pop
功能:剔除数组最后一个元素,返回被剔除的元素内容

复制代码
<?php
$stack = array("orange","banana","apple","1");
$last = array_pop($stack);
echo "<pre>";
print_r($stack);
print_r($last);
echo "</pre>";

/**结果
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)
1
*/
复制代码

 



array_push
功能:将一个多个单元压入数组末尾,返回之后的数组个数

复制代码
<?php
$stack = array("orange","banana");
$count = array_push($stack,"apple","red","blue");
echo "<pre>";
print_r($stack);
print_r($count);
echo "</pre>";

/**结果
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => red
    [4] => blue
)
5
*/
复制代码

 



array_rand
功能:获取随机的键名

复制代码
<?php
$input = array("orange","banana","apple","red","blue");
$rand = array_rand($input,2);;
print_r($rand);
$rand = array_rand($input,3);
print_r($rand);

/**结果
Array
(
    [0] => 1
    [1] => 4
)
Array
(
    [0] => 0
    [1] => 1
    [2] => 3
)

*/
复制代码

 



array_search
功能:查询数组中的内容,返回键值,如果有多个匹配,返回第一个匹配的内容

复制代码
<?php
$array = array("blue"=>"b","red"=>"r","green","r");
$key = array_search('b', $array);
echo $key;
echo "<br>";
$key = array_search('r', $array);
echo $key;
echo "<br>";
/**结果
blue
red
*/
复制代码

 


array_shift
功能:移除开头的元素,与array_pop相反

复制代码
<?php
$fruit = array("milk","orange","banana","apple");
$top = array_shift($fruit);
print_r($top);
echo "<br>";
print_r($fruit);

/**结果
milk
Array ( [0] => orange [1] => banana [2] => apple )
*/
复制代码

 

array_unique
功能:去除数组重复的元素,保留第一个出现的,包括键名和值

复制代码
<?php
$input = array("a"=>"green","red","b"=>"green","blue","c"=>"red");
$result = array_unique($input);
print_r($result);
echo "<br>";
print_r($input);

/**结果
Array ( [a] => green [0] => red [1] => blue )
Array ( [a] => green [0] => red [b] => green [1] => blue [c] => red )
*/
复制代码

 



array_slice

复制代码
功能:从数组中取出部分元素
<?php
$input = array("a","b","c","d","e");
$output = array_slice($input,2);//第二个参数没有时,表示取到最后一个元素
print_r($output);
echo "<br>";
$output = array_slice($input,-2,1);//第二个参数是正数时,表示个数;倒数第一个是-1,倒数第二个是-2
print_r($output);
echo "<br>";
$output = array_slice($input,0,3);
print_r($output);
echo "<br>";
$output = array_slice($input,2,-1);//第二个参数是负数时,表示位置,取到哪一位,不包括本身
print_r($output);
echo "<br>";
$output = array_slice($input,2,-1,true);//第三个参数为true时,保留原有的键值
print_r($output);
echo "<br>";


/**结果
Array ( [0] => c [1] => d [2] => e )
Array ( [0] => d )
Array ( [0] => a [1] => b [2] => c )
Array ( [0] => c [1] => d )
Array ( [2] => c [3] => d )
*/
复制代码

 



count
功能:返回数组元素个数,元素为数组的算一个

复制代码
<?php
$input = array("a","b","c",array("d","e"));
$count = count($input);
echo $count;
echo "<br>";
$input = array("a","b","c","d","e");
$count = count($input);
echo $count;
/**结果
4
5
*/
复制代码

 



current
功能:获取当前的指针指向元素

复制代码
<?php
$array = array("foot","bike","car","plane");
$result = current($array);
echo $result."<br>";
next($array);//使指针指向下一个元素
$result = current($array);
echo $result."<br>";
prev($array);//使指针指向前一个元素
$result = current($array);
echo $result."<br>";
end($array);//使指针指向最后一个元素
$result = current($array);
echo $result."<br>";
/**结果
foot
bike
foot
plane
*/
复制代码

 



in_array
功能:检验某值是否存在数组中,有返回True,没有返回False

复制代码
<?php
$os_list = array("Mac","NT","Irix","Linux");
if(in_array("Irix",$os_list)){
    echo "当前操作系统列表中存在Irix";
}else{
    echo "当前操作系统列表中不存在Irix";
}
echo "<br>";
if(in_array("mac",$os_list)){
    echo "当前操作系统列表中存在mac";
}else{
    echo "当前操作系统列表中不存在mac";
}
echo "<br>";

/**结果
当前操作系统列表中存在Irix
当前操作系统列表中不存在mac
*/
复制代码

 


list
功能:将数组中的信息赋值给多个变量

复制代码
<?php
$info = array("red","blue","green");
list($flag,$sky,$grassland) = $info;
echo "$flag,$sky,$grassland";
echo "<br>";
list($flag,,$grassland) = $info;
echo "$flag,$grassland";
echo "<br>";
list(,,$grassland) = $info;
echo "$grassland";
echo "<br>";
/**结果
red,blue,green
red,green
green
*/
复制代码

 

shuffle
功能:打乱数组

复制代码
<?php
$numbers = range(1,5);//生成一个随机数组
print_r($numbers);
echo "<br/>";
shuffle($numbers);//打乱数组
print_r($numbers);
/**结果
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
Array ( [0] => 4 [1] => 1 [2] => 5 [3] => 2 [4] => 3 )
*/
复制代码

 




array_keys
功能:获取数组的键名,第二个参数可以指定获取某个元素

复制代码
<?php
$array = array(0=>100,"color"=>"red");
print_r(array_keys($array));
echo "<br>";
$array = array("blue","red","green","blue","blue");
print_r(array_keys($array,"blue"));
echo "<br>";
$array = array("color"=>array("blue","red","green"),"size"=>array("small","medium","large"));
print_r(array_keys($array));
echo "<br>";
/**结果
Array ( [0] => 0 [1] => color )
Array ( [0] => 0 [1] => 3 [2] => 4 )
Array ( [0] => color [1] => size )
*/
复制代码

 



array_reverse
功能:获取数组的反向

复制代码
<?php
$input = array("php",3.0,array("green","red"));
$result = array_reverse($input); //打乱键名
$result_keyed = array_reverse($input,TRUE);//保留键名
print_r($result);
print_r($result_keyed);
/**结果
Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 3
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 3
    [0] => php
)

*/
复制代码

 


arsort
功能:逆向排序,索引不变

复制代码
<?php
$fruits = array(
    "a"=>"lemon",
    "b"=>"orange",
    "c"=>"banana",
    "d"=>"apple",
    );
arsort($fruits);//按照字符逆向排序或数字
foreach($fruits as $key=>$val){
    echo "$key = $val<br>";
}
/**结果
b = orange
a = lemon
c = banana
d = apple
*/
复制代码

 



asort
功能:进行正向排序

复制代码
<?php
$fruits = array(
    "a"=>"lemon",
    "b"=>"orange",
    "c"=>"banana",
    "d"=>"apple",
    );
arsort($fruits);//按照字符逆向排序或数字
foreach($fruits as $key=>$val){
    echo "$key = $val<br>";
}
echo "<p>";
asort($fruits);//按照字符正向排序或数字
foreach($fruits as $key=>$val){
    echo "$key = $val<br>";
}
/**结果
b = orange
a = lemon
c = banana
d = apple

d = apple
c = banana
a = lemon
b = orange
*/
复制代码

 



krsort
功能:按照键名进行逆向排序

复制代码
<?php
$fruits = array(
    "a"=>"lemon",
    "b"=>"orange",
    "c"=>"banana",
    "d"=>"apple",
    );
krsort($fruits);//按照键名逆向排序或数字
foreach($fruits as $key=>$val){
    echo "$key = $val<br>";
}

/**结果
d = apple
c = banana
b = orange
a = lemon
*/
复制代码

 


ksort
功能:按照键名进行正向排序

复制代码
<?php
$fruits = array(
    "a"=>"lemon",
    "b"=>"orange",
    "c"=>"banana",
    "d"=>"apple",
    );
ksort($fruits);//按照键名正向排序或数字
foreach($fruits as $key=>$val){
    echo "$key = $val<br>";
}

/**结果
a = lemon
b = orange
c = banana
d = apple
*/
复制代码

 


rsort
功能:按照值进行逆向排序,键名改变

复制代码
<?php
$fruits = array(
    "a"=>"lemon",
    "b"=>"orange",
    "c"=>"banana",
    "d"=>"apple",
    );
rsort($fruits);//按照值进行逆向排序或数字,键名改变
foreach($fruits as $key=>$val){
    echo "$key = $val<br>";
}

/**结果
0 = orange
1 = lemon
2 = banana
3 = apple
*/
复制代码

 



sort
功能:按照值进行正向排序,键名改变

复制代码
<?php
$fruits = array(
    "a"=>"lemon",
    "b"=>"orange",
    "c"=>"banana",
    "d"=>"apple",
    );
sort($fruits);//按照值进行逆向排序或数字,键名改变
foreach($fruits as $key=>$val){
    echo "$key = $val<br>";
}

/**结果
0 = apple
1 = banana
2 = lemon
3 = orange
*/


本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/archive/2013/05/23/3095314.html,如需转载请自行联系原作者

相关文章
|
22天前
|
PHP 开发者
PHP计算过去一定时间段内日期范围函数
这个函数为开发者提供了一个快速而简单的方法来获取与当前日期相关的过去时间范围,代码简洁易懂,可复用性高。
50 15
|
3月前
|
PHP 开发者 索引
探究PHP中常见数组操作函数
在编码实践中,合理利用这些数组操作函数可以简化编程工作,提升代码的效率和可读性。为达到最佳实践,开发者应该通过阅读官方文档来深入理解每个函数的工作原理以及如何在不同的场景下运用它们。
112 8
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
11月前
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
107 5
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
12月前
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
220 1
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
328 2
|
JavaScript 前端开发 PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。