2012-02-11 5 views
0

Если бы я хотел создать массив в PHP со следующим форматом, каким будет лучший способ приблизиться к нему? В основном я хочу заранее объявить массив, а затем добавить значения в person_id, name и age.Создание массива в PHP

'person_id' => array('name'=>'jonah', 'age'=> 35) 

ответ

1

К первому ответу @Joe, в первую очередь, ваш класс не поддерживает инкапсуляцию, поскольку ваши атрибуты являются общедоступными. Кроме того, для тех, кто не знает, как создать массив, эта концепция может быть немного сложной.

Для ответа, изменяя немного классовую обеспечивается @Joe, PHP обеспечивают простой способ использования массивов:

Если вам нужно много строк для этого массива, каждая строка имеет номер, если нет, то удалить [0] только для одной записи.

$persons = array(); 

$persons[0]['person_id'] = 1; 
$persons[0]['name'] = 'John'; 
$persons[0]['age'] = '27'; 
+1

Спасибо за помощь, это прекрасно работает! – user1092780

+0

Добро пожаловать! Вернитесь ко мне, если вам нужна дополнительная помощь! – CoachNono

+0

На самом деле есть одна небольшая вещь, которую я хочу спросить, если бы я использовал код в цикле 'for' (для нескольких записей), мог бы я просто удалить 0 из' $ persons [0] '? – user1092780

1

В зависимости от того, как вы хотите использовать его, вы можете сделать простой объект:

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
+0

Похоже, что чередует данные массива. –

+0

Да, но это вариант :) Не лучший, но вариант. – Joe

1

Вы можете начать с пустого массива:

$arr = Array(); 

Затем добавить материал в этом массиве:

$arr['person_id'] = Array(); 
$arr['person_id']['name'] = "jonah"; 
$arr['person_id']['age'] = 35; 
Смежные вопросы