在PHP中创建数组
如果我想用PHP创建一个具有以下格式的数组,最好的方法是什么?基本上,我希望事先声明数组,然后能够将值添加到在PHP中创建数组,php,Php,如果我想用PHP创建一个具有以下格式的数组,最好的方法是什么?基本上,我希望事先声明数组,然后能够将值添加到person\u id、name和age 'person_id' => array('name'=>'jonah', 'age'=> 35) 根据您想如何使用它,您可以制作一个简单的对象: class Person { public $person_id; public $name; public $age; } $person = new P
person\u id
、name
和age
'person_id' => array('name'=>'jonah', 'age'=> 35)
根据您想如何使用它,您可以制作一个简单的对象:
class Person
{
public $person_id;
public $name;
public $age;
}
$person = new Person; // make the object beforehand
$person->person_id = 123; // their id
$person->name = 'Joe'; // my name
$person->age = 21; // yeah, right
这实际上与阵列相同(就其使用方式而言),除了:
- 您使用的不是
而是new array()
(无括号)new Person
- 使用
而不是使用->item
访问项目['item']
class Person
{
public $person_id;
public $name;
public $age;
}
$person = new Person; // make the object beforehand
$person->person_id = 123; // their id
$person->name = 'Joe'; // my name
$person->age = 21; // yeah, right
这实际上与阵列相同(就其使用方式而言),除了:
- 您使用的不是
而是new array()
(无括号)new Person
- 使用
而不是使用->item
访问项目['item']
$arr = Array();
然后将内容添加到该数组:
$arr['person_id'] = Array();
$arr['person_id']['name'] = "jonah";
$arr['person_id']['age'] = 35;
可以从空数组开始:
$arr = Array();
然后将内容添加到该数组:
$arr['person_id'] = Array();
$arr['person_id']['name'] = "jonah";
$arr['person_id']['age'] = 35;
对于第一个答案@Joe,首先,您的类不支持封装,因为您的属性是公共的。另外,对于不知道如何创建数组的人来说,这个概念可能有点复杂 对于答案,稍微改变一下@Joe提供的类,PHP提供了一种使用数组的简单方法: 如果此数组需要多行,则每行都有一个数字,如果没有,则仅删除一个条目的[0]
$persons = array();
$persons[0]['person_id'] = 1;
$persons[0]['name'] = 'John';
$persons[0]['age'] = '27';
对于第一个答案@Joe,首先,您的类不支持封装,因为您的属性是公共的。另外,对于不知道如何创建数组的人来说,这个概念可能有点复杂 对于答案,稍微改变一下@Joe提供的类,PHP提供了一种使用数组的简单方法: 如果此数组需要多行,则每行都有一个数字,如果没有,则仅删除一个条目的[0]
$persons = array();
$persons[0]['person_id'] = 1;
$persons[0]['name'] = 'John';
$persons[0]['age'] = '27';
对数组数据来说似乎有点过头了。是的,但这是一个选项:)不是最好的,而是一个选项。对数组数据来说似乎有点过头了。是的,但这是一个选项:)不是最好的,而是一个选项。实际上,如果我要在
for
循环(对于多个记录)中使用代码,我确实想问一件小事,我是否只需从$persons[0]
中删除0?并将其替换为一个递增的变量,例如while($I<$numberOfLoops){$persons[$I]['person\u id']=1;}Simpley省略0(只有0)将让PHP自动为每个记录创建索引。如果您只是将数组用作集合,并且不依赖索引,则这非常有用:(…){$person=array();$person['name']='xyz';$person['age']=…;$persons[]=$person;}将把您在循环中创建的每个$person添加到$persons数组中,并将从0开始的索引分配给它们。是的,但如果删除0,您将无法跟踪存储在数组中的以前的信息。是的,您必须在本地填充子数组,并将其添加到$persons,这是最后一步(就像我在示例中所做的那样)。编辑:array_push与$persons[]相同,建议使用后者,请看,实际上我确实想问一件小事,如果我要在for
循环中使用代码(用于多个记录),我是否可以从$persons[0]中删除0
?准确地将其替换为递增的变量,例如while($i<$numberOfLoops){$persons[$i]['person\u id']=1;}简单地忽略0(只有0)将使PHP自动为每个记录创建索引。如果您只是将数组用作集合,并且不依赖索引,则这非常有用:(…){$person=array();$person['name']='xyz';$person['age']=…;$persons[]=$person;}将把您在循环中创建的每个$person添加到$persons数组中,并将从0开始的索引分配给它们。是的,但如果删除0,您将无法跟踪存储在数组中的以前的信息。是的,您必须在本地填充子数组,并将其添加到$persons,这是最后一步(就像我在示例中所做的那样)。编辑:array_push与$persons[]相同,建议使用后者,请参阅