博客列表 >0417数组的操作

0417数组的操作

魏先生的博客
魏先生的博客原创
2018年04月21日 01:02:56781浏览
<?php
/*
 * while有两种,一种先条件在输出代码,二种是先输出代码在条件
 * 
 */
//先来个for循环
for($i=0;$i<10;$i++){
	
	if($i<9){
		print_r($i.'<');
	}else{
		print_r($i);
	}
	
}

echo '<hr>';
	
//while先条件  其实跟for循环很类似
$i=0;//初始条件
while($i<10){
	echo $i<9 ? $i.',':$i;
	
	$i++;//更新条件,没有将进入死循环
}	
echo '<hr>';
//后条件	跟for循环有点差异
$i=0;
do{
	echo $i<9 ? $i.',' : $i;
		$i++;
}while($i<10);

对循环语句的理解,for是正常的.

while的入口和出口是不一样的,

入口判断类型的话,如果入口条件不成立,他下面的代码是不执行的,出口判断则相反输出一个条件尽管是不成立的.

我们一般都是用入口判断的多一点.while用的多,其他用的少甚至for用的就没那么多.

<meta charset="UTF-8"/>
<?php
/*
 * 常用的数组函数
 * 重点:功能,场景,参数,返回值
 * 1.键值操作 6个
 * 2.指针操作8个(也可以说巡航操作)
 */
echo '<pre>';
$user = ['name'=>'新明','sex'=>'man','age'=>'28岁','adds'=>'New York'];
print_r($user);

//一.键值函数
//in_array(value,array);判断某个值在不在数组中 返回的是布尔值
echo in_array('新明',$user)? '存在' : '不存在';//判断值是否存在
echo '<br>';
echo array_key_exists('name',$user) ? '存在' :'不存在';//判断键是否存在

print_r(array_values($user));//以索引的方式返回数组的值
echo '<br>';
print_r(array_keys($user,'新明'));//以索引的方式返回数组的键,还可以返回制定的键
echo '<hr>';
print_r(array_search('新明',$user));//以字符串的方式返回键
echo '<hr>';
print_r(array_flip($user));

echo '<hr>';
	echo '<hr>';
		echo '<hr>';
//数组内部指针操作
$a = count($user);//判断有几个数组
echo $a;
echo '<hr>';
	
echo key($user);
echo '<hr>';
	echo current($user);
echo '<hr>';
	
next($user);//数组的指针下移
echo key($user);
echo '<br>';
echo current($user);
echo '<br>';
print_r(next($user));
echo key($user);
echo '<br>';
echo current($user);

echo '<br>';
print_r(next($user));//下一个
echo key($user);
echo '<br>';
echo current($user);

echo '<hr>';
reset($user);//重置
print_r($user);
echo key($user);
echo '<br>';
echo current($user);

echo '<hr>';
end($user);//最后一个
echo key($user);
echo '<br>';
echo current($user);

echo '<hr>';
prev($user);//上一个
echo key($user);
echo '<br>';
echo current($user);

reset($user);
echo '<hr>';
//each();返回索引与关联
list($key,$values) = each($user);
echo $key,'=>'.$values;

echo '<hr>';
list($key,$values) = each($user);
echo $key,'=>'.$values;

echo '<hr>';
list($key,$values) = each($user);
echo $key,'=>'.$values;
echo '<hr>';echo '<hr>';
	
reset($user);
while(list($key,$values) = each($user)){//使用while循环来处理
	echo $key,'=>'.$values.'<br>';
}

 一、键与值的操作(6个)

1. in_array(value, array): val是否在array中,返回布尔值

2. array_key_exists(key,array):key是否在array中,返回布尔值

3. array_values(array): 以索引方式返回array值部分

4. array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键

5. array_search(value, array): 以字符串方式返回指定值的键

6. array_filp(array):键值对调

 二、数组内部指针(巡航)操作(8个)

1. key(array):返回当前元素的键 

2. current(array):当前元素的值,pos()为同名函数

3. next(array):指针下移,指向下一个元素,返回当前值

4. reset(array):指针复位,指向第一个元素,并返回它的值

5. end(array):指针移动最后一个元素上

6. prev(array):指针向前移动一位,并返回当前元素的值

7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针

8. list($a,$b,...):将索引数组中的值,赋值给一组变量

数组的堆栈与队列:堆栈是从数组的开头或末尾的一端来进行增加删除,队列可以是两边都可以

//用array_splice增加字段

$color1 = ['a'=>'white','b'=>'black','c'=>'blue','d'=>'red'];

$color2 = ['e'=>'orange','f'=>'green'];

array_splice($color1,4,2,$color2);//从数组1的第四个开始删除 等于没有删除,然后增加数组2的字段

print_r($color1);

//用array_splice删除字段
$color1 = ['a'=>'white','b'=>'black','c'=>'blue','d'=>'red'];
array_splice($color1,2);//保留前面2个
print_r($color1);
//用array_splice修改字段
$color1 = ['a'=>'white','b'=>'black','c'=>'blue','d'=>'red'];
$color2 = ['a'=>'orange','b'=>'green'];
array_splice($color1,0,2,$color2);//从数组1的0开始 删除2个,数组2插进去字段
print_r($color1);
echo '<hr>';echo '<hr>';
$a1=[0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"];
$a2=[0=>"Tiger",1=>"Lion"];
print_r(array_splice($a1,0,2,$a2));//删除的
print_r($a1);//保留的值

array_splice($arr1,strat,length,$arr2);

<meta charset="UTF-8"/>
<?php
	
$city = ['故宫', '东方明珠', '小蛮腰', '世界之窗', '火锅', '冰雕'];
echo '<table border="1" cellpadding="5" cellspacing="0" width="500">';
echo '<caption>for城市信息表</caption>';
echo '<tr bgcolor="yellow"> <th>北京</th><th>上海</th><th>广州</th><th>深圳</th><th>重庆</th><th>吉林</th></tr>';
    for($i=0;$i<count($city);$i++){
    	echo '<th>'.current($city).'</th>';
    	next($city);
    }
echo '</table>';

echo '<hr>';echo '<hr>';echo '<hr>';
$city = ['故宫', '东方明珠', '小蛮腰', '世界之窗', '火锅', '冰雕'];
echo '<table border="1" cellpadding="5" cellspacing="0" width="500">';
echo '<caption>while城市信息表</caption>';
echo '<tr bgcolor="#1bed7e"> <th>北京</th><th>上海</th><th>广州</th><th>深圳</th><th>重庆</th><th>吉林</th></tr>';
    $i=0;
    while($i<count($city)){
    	echo '<th>'.current($city).'</th>';
    	next($city);
    	$i++;
    }
echo '</table>';

echo '<hr>';echo '<hr>';echo '<hr>';
$city = ['北京', '上海', '广州', '深圳', '重庆', '吉林'];
$adds = ['故宫', '东方明珠', '小蛮腰', '世界之窗', '火锅', '冰雕'];
echo '<table border="1" cellpadding="5" cellspacing="0" width="500">';
echo '<caption>foreach城市信息表</caption>';
echo '<tr bgcolor="#00eeee">';
	foreach ($city as $value) {
    echo '<th align="center">'.$value.'</th>';
}
	
echo '</tr>';
echo '<tr>';
foreach ($adds as $value) {
    echo '<td align="center">'.$value.'</td>';
}
echo '</tr>';
echo '</table>';

用多种循环来写循环,感觉foreach最好用  遍历循环可以省很多代码,很实用

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议