PHP开发笔记系列(九)- 数组(二)
???? 昨晚临睡前写完了《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
?
?
?