Как получить доступ к элементам вложенного массива на PHP? Добрый день.
Помогите понять, как работать с вложенными массивами в PHP. class skill
{
public $id=0;
public $name="";
public $glyphs=array();
public function __construct($id,$name)
{
$this->id=$id;
$this->name=$name;
}
}
class glyph
{
public $id;
public $skill_id;
public $name;
public $description;
public $cost;
public $lvl_req;
public $icon;
public function __construct($id,$skill_id,$name,$description,$cost,$lvl_req)
{
$this->id=$id;
$this->skill_id=$skill_id;
$this->name=$name;
$this->description=$description;
$this->cost=$cost;
$this->lvl_req=$lvl_req;
$this->icon="/images/glyphs".$name."png";
}
}
class player
{
public $class;
public $level;
public $skills=array();
public $points;
}
Пояснение: Создаю 2 вспомогательных класса skill и glyph. Причем в классе skill используется класс glyph, как массив объектов. В классе player используется класс skill, как массив объектов.
Как получить доступ из экземпляра класса player получить доступ к экземпляру класса glyph.
По привычке из C# это бы сделалось так:$player->skills[$i]->glyphs[j];
Но таким образом я доступ получить не могу.

21 Авг 2019 в 07:08
169 +1
0
Ответы
1

Для получения доступа к элементам вложенного массива в PHP, вы можете использовать следующий синтаксис:

// Получение доступа к экземпляру класса glyph из экземпляра класса player
$player = new player();
// Предположим, что у нас есть несколько скиллов в массиве skills
foreach($player->skills as $skill) {
// Для каждого скилла получаем доступ к массиву glyphs
foreach($skill->glyphs as $glyph) {
// Теперь у вас есть доступ к каждому экземпляру класса glyph
// Например, вы можете вывести имя каждого глифа
echo $glyph->name;
}
}

С этим кодом вы сможете получить доступ к каждому экземпляру класса glyph, который находится в массиве glyphs каждого скилла в массиве skills у экземпляра класса player. Надеюсь, это поможет вам работать с вложенными массивами в PHP.

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир