① php中数组的分类有哪两种
1、索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
$cars=array("porsche","BMW","Volvo");
2、关联数组
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
(1)php判断数组类型扩展阅读
实用函数——
有相当多的实用函数作用于数组,参见数组函数一节。
注: unset() 函数允许取消一个数组中的键名。要注意数组将不会重建索引。
<?php
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset( $a[2] );
/* 将产生一个数组,定义为
$a = array( 1=>'one', 3=>'three');
而不是
$a = array( 1 => 'one', 2 => 'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>
foreach 控制结构是专门用于数组的。它提供了一个简单的方法来遍历数组。
② php 把数组按条件分成不同的数组
$arr1=array("In/4833895_0001.jpg","In/4834113_0002.jpg","Out/4834223_0001.jpg","In/4834301_0003.jpg","Out/4834442_0002.jpg","In/4834520_0004.jpg","Out/4834598_0003.jpg","In/4834723_0005.jpg","Out/4834817_0004.jpg","In/4834863_0006.jpg","Out/4835004_0005.jpg","In/4835067_0007.jpg","Out/4835254_0006.jpg","Out/4835410_0007.jpg","Out/04835629_0008.jpg","Out/4835785_0009.jpg");
foreach($arr1as姿指备$k=>$val){
if(strpos($val,"In")===0){
迹毁$inArr[]=$val;
}else{
$outArr[]=$val;
}
}
print_r($inArr);
echo"<br>";
print_r($outArr);
Array
(
[0]=>In/4833895_0001.jpg
[1]=>In/4834113_0002.jpg
[2]=>In/4834301_0003.jpg
逗搏[3]=>In/4834520_0004.jpg
[4]=>In/4834723_0005.jpg
[5]=>In/4834863_0006.jpg
[6]=>In/4835067_0007.jpg
)
Array
(
[0]=>Out/4834223_0001.jpg
[1]=>Out/4834442_0002.jpg
[2]=>Out/4834598_0003.jpg
[3]=>Out/4834817_0004.jpg
[4]=>Out/4835004_0005.jpg
[5]=>Out/4835254_0006.jpg
[6]=>Out/4835410_0007.jpg
[7]=>Out/04835629_0008.jpg
[8]=>Out/4835785_0009.jpg
)
③ php如何查找数组中是否含有某个元素
1、in_array �0�2 ‘函数在数组中搜索给定的值。 in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。 2、array_key_exists array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array) 3、array_search ‘array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict) 注意:在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为瓶颈;当数据量比较大的时候,array_key_exists比较合适。当然这里array_key_exists占用的内存比较大,经测算数组结构是: array(1, 2, 3, ..)和 array(1 = true, 2 = false, ..)他们内存使用比值为1:2;
④ php判断是否为数组
$a=1;
if(is_array($a)){
echo'是数组';
}else{
echo'不是数组0';
}
⑤ php 判断在不在数组中 in array
函数:in_array -- 检查数组中是否存在某个值定义:bool in_array ( mixed needle, array haystack [, bool strict] )在haystack 中搜索 needle,如果找到则返回 TRUE,否则返回 FALSE。 如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。 例子1. in_array() 例子<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";}if (in_array("mac", $os)) {
echo "Got mac";}?> 第二个条件失败,因为 in_array() 是区分大小写的,所以以上程序显示为: Got Irix 例子2. in_array() 严格类型检查例子<?php
$a = array('1.10', 12.4, 1.13);
if (in_array('12.4', $a, true)) {
echo "'12.4' found with strict check\n";}if (in_array(1.13, $a, true)) {
echo "1.13 found with strict check\n";}?> 上例将输出:1.13 found with strict check 例子3. in_array() 中用数组作为 needle<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');
if (in_array(array('p', 'h'), $a)) {
echo "'ph' was found\n";}if (in_array(array('f', 'i'), $a)) {
echo "'o' was found\n";}?
⑥ PHP 对象数组的筛选和判断
手打不易,有用请采纳。
$rArray = json_decode(json_encode($r),true);//通过json将对象转换为数组。
foreach($rArray as $k => $v){
if($v['banji']==1){ //如果banji=1则求语文成绩
echo "语文成绩={$v['yuwen']}";
}elseif($v['banji']==2){ //如果banji=2则求数学成绩
echo "语文成绩={$v['shuxue']}";
}
if($v['xingming']=='x'){ //有一个姓名为$x是否在banji1
if($v['banji']==1){
echo "xingmign为x的是班级1";
}else{
echo "xingmign为x的不是班级1";
}
}
}