PHP 编程/数据结构
外观
< PHP 编程
PHP 具有一个称为“变量变量”的遗留概念。这是一种更旧、更有限的编程概念,它出现在复合数据结构可用之前。由于 PHP 语言现在支持复合数据结构,变量变量的概念实质上已经过时。
PHP 手册指出
"Sometimes it is convenient to be able to have variable variable names. That is, a variable name which can be set and used dynamically."
这种方法在历史上被用在不支持复合数据结构的编程语言中。PHP 中没有可以使用变量获得的程序函数或算法,而不能通过复合数据结构获得。
此外,“变量变量”容易出错,并且需要更多维护开销。
数据结构是使用常规 PHP 变量表示复合实体的方式。
熟悉数据库设计和数据库实现的人知道数据库规范化的概念。
PHP 中的数据结构表示一个类似的概念。在处理复杂概念并将它们表示在 PHP 中时,数据结构是一种将 PHP 变量规范化以一致且统一地表示复杂概念的方式。
- 字符串是一种表示单个值(又称标量)的结构
- 数组是一种表示值列表(又称向量)的结构
字符串示例
$person_name = 'Alice';
数组示例
$person_names = Array( 0=> 'Alice', 1=> 'Bob', 2=> 'Charlie', );
$alice_info = Array( 0=> 'Alice', 1=> 'Female', 2=> '26', 3=> '[email protected]', );
- 简单字典是一种表示无序的名称-值对序列的结构。在原生 PHP 中,这是使用标准数组以及字符串作为索引来完成的。
- 简单序列是一种表示有序值序列的结构。在原生 PHP 中,这是使用标准数组以及数字索引来完成的。
- 简单表(aod)是一个或多个简单字典的有序序列,其中每个简单字典实例具有匹配的名称。
- 简单表(aoa)是一个或多个简单序列的序列,其中每个简单序列实例具有对应的索引。
方括号方法允许您通过直接设置值来进行设置。例如,要使 $foobar[1] = $foo,您只需执行以下操作
简单字典示例
$person_names = Array( 'person1'=> 'Alice', 'person2'=> 'Bob', 'person3'=> 'Charlie', );
$alice_info = Array( 'first_name'=> 'Alice', 'sex'=> 'Female', 'age'=> '26', 'email'=> '[email protected]', );
简单字典示例
$user_profile = Array(
main => Array(
first_name => "Archibald",
last_name => "Shaw",
sex => "male",
age => "33",
),
guardian => Array(
first_name => "",
last_name => "",
),
children => Array(
0 => Array(
first_name => "Sally",
last_name => "Shaw",
),
1 => Array(
first_name => "Scott",
last_name => "Shaw",
),
),
);