引言
继续搜集实战中出现的小问题。
Q&A
1.PHP中文件访问路径
- ./ 当前目录。
- ../ 父级目录。
- / 根目录。
2.PHP中unset,array_splice删除数组中元素的区别
php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧
如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排:
<?php
$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>
结果是:
Array ( [0] => a [2] => c [3] => d )
那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():
<?php
$arr = array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
?>
结果是:
Array ( [0] => a [1] => c [2] => d )
删除数组中特定元素
<?php
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value){
if ($value === 3)
unset($arr2[$key]);
}
var_dump($arr2);
?>
- array_splice()函数删除的话,数组的索引值也变化了。
- unset()函数删除的话,数组的索引值没有变化。
3.PHP shuffle() 函数
把数组中的元素按随机顺序重新排序:
<?php
$my_array = array("red","green","blue","yellow","purple");
shuffle($my_array);
print_r($my_array);
?>
shuffle() 函数把数组中的元素按随机顺序重新排列。
该函数为数组中的元素分配新的键名。已有键名将被删除(参见下面的例子 1)。
<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>
结果为:
Array ( [0] => purple [1] => green [2] => yellow [3] => blue [4] => red )
4.array_slice
从数组的第三个元素开始取出,并返回数组中的其余元素:
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,2));
?>
语法
array_slice(array,start,length,preserve)
start
必需。数值。规定取出元素的开始位置。 0 = 第一个元素。
如果该值设置为正数,则从前往后开始取。
如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
length
可选。数值。规定被返回数组的长度。
如果该值设置为整数,则返回该数量的元素。
如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。
如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
从数组的第二个元素开始取出,并仅返回两个元素:
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2));
?>
结果为:
Array ( [0] => green [1] => blue )
5.json_encode
PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
以下实例演示了如何将 PHP 数组转换为 JSON 格式数据:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
以上代码执行结果为:
{"a":1,"b":2,"c":3,"d":4,"e":5}
以下实例演示了如何将 PHP 对象转换为 JSON 格式数据:
<?php
class Emp {
public $name = "";
public $hobbies = "";
public $birthdate = "";
}
$e = new Emp();
$e->name = "sachin";
$e->hobbies = "sports";
$e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
$e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));
echo json_encode($e);
?>
以上代码执行结果为:
{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
json_decode($data,true);中第二个参数的含义:
true返回值是数组,否则返回值为object。
6.PHP的
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。