$a = 'false';
if($a){
echo '好坑';
}
输出好坑,得转换成布尔值才行哦。

in_array

$people = array("Bill", "Steve", "Mark", "David");

if (in_array("Mark", $people))
{
echo "匹配已找到";
}
else
{
echo "匹配未找到";
}

array_search

php删除一个数组元素
$a1=array("a","b","c","d","e");
array_splice($a1,array_search("d",$a1),1);
print_r($a1);
array_search
在数组中搜索键值 "d",并返回它的键名

array_splice

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
从0开始,删除2个元素,并用$a2替换,不填$a2就是只删除
$arr1 = array(1,3, 5,7,8);
$key = array_search(3, $arr1);
if ($key !== false)
array_splice($arr1, $key, 1);
print_r($arr1);//Array ( [0] => 1 [1] => 5 [2] => 7 [3] => 8 ) 
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value)
{
if ($value === 3) unset($arr2[$key]);
}
print_r($arr2);//Array ( [0] => 1 [2] => 5 [3] => 7 [4] => 8 )

总结:可以看到使用array_splice()删除特定值和使用unset删除特定值是有区别的。

array_splice()函数删除的话,数组的索引值也变化了。

unset()函数删除的话,数组的索引值没有变化

$a1=array("a","b",'bei'=>'杯子',"c",'pan'=>"钢笔","e");
unset($a1['pan']);
print_r($a1);//Array ( [0] => a [1] => b [bei] => 杯子 [2] => c [3] => e )
删除某个key

current

<?php
$people = array("name"=>"Bill", 9=>"Steve", "Mark", "David");
echo current($people) . "<br>";//Bill
?>
看来current是取数组中的第一个的value
$a1=array("a","b",'bei'=>'杯子',"c",'pan'=>"钢笔","e",7=>'No7');

delByValue2($a1,'钢笔');
var_dump($a1); $a1=array("a","b","c","d","e");
delByValue2($a1,"d");
var_dump($a1); $a1=array("a","b","c","d","e");
delByValue($a1,"d");
var_dump($a1); //var_dump(delByValue($a1,"钢笔")); //foreach遍历后unset删除,
function delByValue(array &$arr, $value){
if(!is_array($arr)){
return $arr;
}
foreach($arr as $k=>$v){
if($v == $value){
unset($arr[$k]);
}
}
return $arr;
}
function delByValue2(array &$input,$value){
if(!is_array($input)){
return $input;
}
//找到是第几个元素
$index = array_search($value,array_values($input));
array_splice($input,$index,1);
return $input;
}
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'e' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
4 => string 'e' (length=1)

<?php
$a1=array("a","b","c",'fdsfds'=>"d","e");
array_splice($a1,array_search("d",$a1),1);
print_r($a1); echo '<Br>'; $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
print_r($a1); echo '<br>'; $a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,1,$a2);
print_r($a1); echo '<br>';
$arr1 = array(1,3, 5,7,8);
$key = array_search(3, $arr1);
if ($key !== false)
array_splice($arr1, $key, 1);
print_r($arr1); echo '<br>';
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value)
{
if ($value === 3) unset($arr2[$key]);
}
print_r($arr2); echo '<Br>';
$a1=array("a","b",'bei'=>'杯子',"c",'pan'=>"钢笔","e");
//var_dump($a1);
//array_splice($a1,2,1);
//var_dump($a1); var_dump(array_values($a1));
var_dump(array_keys($a1)); unset($a1[1]);
unset($a1['bei']);
var_dump($a1); //var_dump(delByValue($a1,"钢笔")); //foreach遍历后unset删除,
function delByValue($arr, $value){
if(!is_array($arr)){
return $arr;
}
foreach($arr as $k=>$v){
if($v == $value){
unset($arr[$k]);
}
}
return $arr;
}
Warning: array_splice() expects parameter 2 to be long, string given in D:\Downloads\php\project\pttuicd\www\test.php on line 3
Array ( [0] => a [1] => b [2] => c [fdsfds] => d [3] => e )
Array ( [a] => red [b] => green ) Array ( [0] => purple [1] => orange [c] => blue [d] => yellow )
Array ( [0] => red [1] => purple [2] => orange )
Array ( [0] => 1 [1] => 5 [2] => 7 [3] => 8 )
Array ( [0] => 1 [2] => 5 [3] => 7 [4] => 8 )
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string '杯子' (length=6)
3 => string 'c' (length=1)
4 => string '钢笔' (length=6)
5 => string 'e' (length=1)
array
0 => int 0
1 => int 1
2 => string 'bei' (length=3)
3 => int 2
4 => string 'pan' (length=3)
5 => int 3
array
0 => string 'a' (length=1)
2 => string 'c' (length=1)
'pan' => string '钢笔' (length=6)
3 => string 'e' (length=1)
												

PHP中数组的各种用法的更多相关文章

  1. (转)轻松掌握shell编程中数组的常见用法及示例

    缘起:在老男孩进行linux培训shell编程教学中,发现不少水平不错的网友及同学对数组仍然很迷糊,下面就给大家分享下数组的用法小例子,希望能给大家一点帮助.其实SHELL的数组很简单,好用.我们学习 ...

  2. JS中数组Array的用法{转载}

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^var arr = new Array();arr[0] = "aaa";arr[1] ...

  3. JS中数组Array的用法示例介绍 (转)

    new Array() new Array(len) new Array([item0,[item1,[item2,...]]] 使用数组对象的方法: var objArray=new Array() ...

  4. JS中数组Array的用法

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了. var arr = new Array();  // 初始化数组arr[0] = "aaa";arr[1] = ...

  5. javascript中数组的强大用法·

    1 归并 var a = [{name: 'tom'},{name: 'aiscy'},{name: 'judy'},{name: 'mike'}];a.reduce(function(prev, i ...

  6. shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计

    shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ...

  7. JAVA中数组的基本概念与用法

    JAVA中数组的基本概念与用法 1. 数组的定义与特点 数组的一种引用数据类型 数组中可以同时存放多个数据,但是数据的类型必须统一 数组的长度在开始时就需要确定,在程序运行期间是不可改变的 虽然可以使 ...

  8. JavaScript中数组操作常用方法

    JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...

  9. C#中数组Array、ArrayList、泛型List<T>的比较

    在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序 ...

随机推荐

  1. [洛谷P1507]NASA的食物计划 以及 对背包问题的整理

    P1507 NASA的食物计划 题面 每个物品有三个属性,"所含卡路里":价值\(v\),"体积":限制1\(m_1\),以及"质量":限制 ...

  2. hdu多校(二) 1004 1007 1010

    Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. log4j配置文件位置详解

    自动加载配置文件: (1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解.log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找lo ...

  4. quartz---的Cron表达式

    quartz---的Cron表达式 CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔, ...

  5. 从零开始学习Vue(二)

    思维方式的变化 WebForm时代, Aspx.cs 取得数据,绑定到前台的Repeater之类的控件.重新渲染整个HTML页面.就是整个页面不断的刷新;后来微软打了个补丁,推出了AJAX控件,比如U ...

  6. POJ 2896 另解暴力

    就是简单的用strstr函数对字符串进行处理. 另解:暴力(就是用strstr函数对字符串进行处理)另解:暴力(普通的字符串处理 .关键是strstr函数): #include<stdio.h& ...

  7. 《Python》 面向对象初识

    一.面向对象初识: 1.结构上理解:类由两部分组成 class  A: # class是类的关键字,类名首字母默认大写 name = 'alex' # 静态属性,静态变量,静态字段 def  func ...

  8. DevExpress v17.2新版亮点—WinForms篇(四)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.开篇介绍了DevExpress WinForms v17.2 Data Grid Control ...

  9. Python 多进程、多线程效率比较

    Python 界有条不成文的准则: 计算密集型任务适合多进程,IO 密集型任务适合多线程.本篇来作个比较. 通常来说多线程相对于多进程有优势,因为创建一个进程开销比较大,然而因为在 python 中有 ...

  10. OK335xS GPMC nand device register hacking

    /********************************************************************************* * OK335xS GPMC na ...