Задать вопрос
@betal

PHP: Как добавить в array элемент key => array()?

Задача должна быть очень простая, но программируя 5 лет на PHP решить ее не могу.
Есть такой псевдокод:
<?php
$brend = array();
//.../
$city   = 6;
$brend  = 11;
//.../
if (!isset($brend[$city])){
    $brend[$city] = array();
}
if (!isset($brend[$city][$brend])){
    $brend[$city][$brend] = array('eff'=>0,'count'=>0);
}
//.../              
$count  = $brend[$city][$brend]['count'];

Собственно ошибка в строке
>> $brend[$city] = array();
Array to string conversion
Но мне не нужно чтобы значением была строка, мне нужен многоуровневый массив.

PS.
Возможные решения:
1)
$brend[$city][$brend]['count']=0;
$brend[$city][$brend]['eff']=0;
Будут работать только если отключить предупреждения, но хочется разобраться, как разработчики предполагали решение данной задачи
2)
$brend = array(6 => array( 11 => array('eff'=>0,'count'=>0)));
Я не знаю заранее значения переменных $city и $brend и я не знаю как много их будет.
  • Вопрос задан
  • 2235 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
Ну конечно он будет ругаться.
$city = 6; - это инт.
$brend = 11; - это тоже переменная типа инт.
К ней вы делаете якобы массив 11['6'] - конечно, это не верно, это не массив.

Надо делать так $arr[$brend][$city], тогда будет переменная $arr[11][6] - это массив.
Видеоурок по массивам, может будет полезен.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
$brend = array();
//.../
$city = 6;
$brend = 11;


программируя 5 лет

?!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽