昨晚临睡前写完了《PHP开发笔记系列(九)- 数组(一)》 ,今晚继续写《PHP开发笔记系列(九)- 数组(二)》 ,Php数值键数组、关联键数组、多维数组的创建、提取、数组类型判断、输出数组后,今天研究一下Php数组的后续内容。
1. 输出数组
在日产的Php程序开发中,数组是使用频率最高的数据类型,例如从数据库根据查询条件将指定的数据通过关联键数组类型返回,那么要查看程序返回的关联键数组结果内容是否正确和遗漏,可用的方法可以通过debug的方式,在variable视图查看返回的结果的内容,如果想通过更快的方式检查结果,那么可以使用print_r()函数。
print_r()函数可以将数组的内容输出到屏幕上,从而完成内容测试和检查。print_r()函数接受一个变量,并将其内容发送给标准输出,成功时返回TRUE,否则返回FALSE。
如果给print_r()传第二个参数,TRUE or FALSE,若TRUE,那么print_r()将把输出返回给调用者,而不是发送到标准输出。
file: print_r.php
url: http://localhost:88/array/print_r.php
<?php
$data[0] = '1st value';
$data[1] = '2nd value';
$data[2] = '3rd value';
print_r($data);
echo "<br/>";
echo "========================";
echo "<br/>";
$return = print_r($data, TRUE);
echo $return;
?>
2. 添加元素到数组头
在数值键数组头添加元素,使用array_unshift(),添加后,数组中的数值键会自动更新,代码如下:
file: unshift.php
url: http://localhost:88/array/unshift.php
<?php
$data[0] = '1st value';
$data[1] = '2nd value';
$data[2] = '3rd value';
array_unshift($data, '0th value');
foreach ($data as $key => $value) {
echo $key.":".$value."<br/>";
}
?>
在关联键数组头添加元素,由于关联键数组中的元素没有先后顺序,所以在访问时,顺序不太重要,因此很少用到array_unshift()函数。
3. 添加元素到数组尾
在数值键数组尾添加元素,使用array_push(),添加后,数组中的数值键会自动更新,代码如下:
file: push.php
url: http://localhost:88/array/push.php
<?php
$data[0] = '1st value';
$data[1] = '2nd value';
$data[2] = '3rd value';
array_push($data, '4th value');
foreach ($data as $key => $value) {
echo $key.":".$value."<br/>";
}
?>
4. 删除数组头元素
在数值键数组头删除元素,使用array_shift(),添加后,数组中的数值键会自动更新,代码如下:
file: shift.php
url: http://localhost:88/array/shift.php
<?php
$data[0] = '1st value';
$data[1] = '2nd value';
$data[2] = '3rd value';
array_shift($data);
foreach ($data as $key => $value) {
echo $key.":".$value."<br/>";
}
?>
5. 删除数组尾元素
在数值键数组尾删除元素,使用array_pop(),添加后,数组中的数值键会自动更新,代码如下:
file: pop.php
url: http://localhost:88/array/pop.php
<?php
$data[0] = '1st value';
$data[1] = '2nd value';
$data[2] = '3rd value';
array_pop($data);
foreach ($data as $key => $value) {
echo $key.":".$value."<br/>";
}
?>
6. 搜索数组
in_array()函数在数组中搜索一个特定值,如果找到该值返回TRUE,否则返回FALSE。
file: in_array.php
url: http://localhost:88/array/in_array.php
<?php
$data[0] = '1st value';
$data[1] = '2nd value';
$data[2] = '3rd value';
$flag = in_array('2nd value', $data);
echo $flag ? "TRUE" : "FALSE";
?>
in_array()函数还接受第三个参数,该参数强制在搜索时考虑类型。
7. 搜索关联键数组键
arrar_key_exists()函数在一个数组中查找指定的键值,存在则返回TRUE,否则返回FALSE。
file: array_key_exists.php
url: http://localhost:88/array/array_key_exists.php
?php
$map['1st'] = '1st value';
$map['2nd'] = '2nd value';
$map['3rd'] = '3rd value';
$flag = array_key_exists('1st', $map);
echo $flag ? "TRUE" : "FALSE";
?>
8. 搜索关联数组值
array_search()函数在一个数组中搜索一个指定的值,如果存在返回TRUE,否则返回FALSE。
file: array_search.php
url: http://localhost:88/array/array_search.php
<?php
$map['1st'] = '1st value';
$map['2nd'] = '2nd value';
$map['3rd'] = '3rd value';
$flag = array_search('2nd value', $map);
echo $flag ? "TRUE" : "FALSE";
?>
9. 获取所有数组键
array_keys()函数返回一个数组,这个数组包含所有的键值。
file: array_keys.php
url: http://localhost:88/array/array_keys.php
<?php
$map['1st'] = '1st value';
$map['2nd'] = '2nd value';
$map['3rd'] = '3rd value';
$keys = array_keys($map);
print_r($keys);
?>
10. 获取所有数组值
array_values()函数返回一个数组,这个数组包含所有的值。
file: array_values.php
url: http://localhost:88/array/array_values.php
<?php
$map['1st'] = '1st value';
$map['2nd'] = '2nd value';
$map['3rd'] = '3rd value';
$values = array_values($map);
print_r($values);
?>
今晚再次写到这里,明晚继续。
本文地址:http://ryan-d.iteye.com/blog/1566532