8 / 5 / 4
Регистрация: 06.12.2018
Сообщений: 29
1

Как добавить третий параметр в ассоциативный массив?

22.06.2019, 13:24. Показов 1730. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Где задать вопрос по php? Хотелось бы приблительно оценит
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2019, 13:24
Ответы с готовыми решениями:

Как в такой ассоциативный массив добавить новые данные через emplace/make_pair?
Есть класс контейнер, который содержит в себе объекты двух других классов. Вопрос: как в такой...

Добавить в Ассоциативный массив
Приветствую всех! Не нашел ответа. Подскажите, надо добавить несколько ключей и значений в...

Добавить элемент в ассоциативный массив
Добавить элемент в ассоциативный массив? Не создать массив ассоциативных массивов, а именно...

Добавить в ассоциативный массив данные
Вроде банальная задача, но есть траблы, вот такой массив у меня есть: array(2) { => ...

5
7 / 5 / 2
Регистрация: 05.02.2019
Сообщений: 130
22.06.2019, 18:01 2
Здесь.
1
8 / 5 / 4
Регистрация: 06.12.2018
Сообщений: 29
22.06.2019, 19:04  [ТС] 3
У меня ассоциативный массив
PHP
1
$a = array ("first" => 755,"second" => 12);
Возникла потребность в третьем параметре, надо добавить язык.
Какую структуру использовать?
На
PHP
1
$a = array ("first" => 755 => 'ru',"second" => 12 => 'en');
ругается, пишет Parse error: syntax error, unexpected '=>'
0
2226 / 1273 / 609
Регистрация: 23.08.2015
Сообщений: 3,222
22.06.2019, 20:24 4
IkarK,
Цитата Сообщение от IkarK Посмотреть сообщение
ругается, пишет Parse error: syntax error, unexpected '=>'
Php, прежде чем исполнить код, проверяет на его корректность и наличие синтаксических ошибок. Ошибки типа Parse error возникают при парсинге кода, это значит, что вы допустили синтаксичесую ошибку.

Он не понимает такую структуру
PHP
1
"second" => 12 => 'en'
и считает, что вы забыли поставить запятую и еще что-то.
В данном случае вам необходимо изменить структуру данных
PHP
1
2
3
4
5
6
7
8
9
10
11
$a = [
    "first" => [
        'value' => 755,
        'lang' => 'ru',
    ],
    
    "second" => [
        'value' => 12,
        'lang' => 'en'
    ],
];
Добавлено через 7 минут
IkarK, Либо, если у вас на старой структуре все завязано и вы не хотите все переписывать, то можно сделать отдельный массив
PHP
1
2
3
4
5
6
7
8
9
$a = [
    "first" => 755,
    "second" => 12
];
 
$aLangs = [
    'first' => 'ru',
    'second' => 'en'
];
Выглядеть это будет примерно так
PHP
1
2
3
4
foreach ($a as $key => $value) {
    echo 'value: ' . $value;
    echo 'lang : ' . $aLangs[$key];
}
1
8 / 5 / 4
Регистрация: 06.12.2018
Сообщений: 29
22.06.2019, 21:26  [ТС] 5
Спасибо, у меня получилось!
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$a = [
    "first" => [
        'value' => 755,
        'lang' => 'ru',
    ],
    
    "second" => [
        'value' => 12,
        'lang' => 'en'
    ],
];
 
function f($x,$a){// вернет значение
foreach($a as $k=>$v) if ($x==$k) return $v['value'];
}
 
function h3($x,&$a){// изменяет значение на три
if (array_key_exists($x, $a)) { 
    $a[$x]['value'] = 3;
    $a[$x]['lang'] = 'fr';
    echo "<h1>значение ключа $x ['value'] изменнено на 3</h1>"; 
}
}
 
$n='second';
echo "<h1>-значение ключа $n=".(f($n,$a))."</h1>";//12
h3($n,$a);// установить значение равным трем
echo "<h1>+значение ключа $n=".(f($n,$a))."</h1>";//12
?>
0
2226 / 1273 / 609
Регистрация: 23.08.2015
Сообщений: 3,222
23.06.2019, 00:53 6
IkarK, Название переменных должны говорить сами за себя. $a f() $x $a h3 $n - ну что это такое? вот представьте вы пишете весьма сложное приложение и так все так, ну это же жесть. Не дай бог, если другому программисту придется работать над вашим кодом, он вас найдет я вас уверяю)
0
23.06.2019, 00:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2019, 00:53
Помогаю со студенческими работами здесь

Распарсить ассоциативный массив и добавить его в БД
Всем привет. Надеюсь на вашу помощь. AJAXом из JavaScript я передаю в php строку JSON, которую...

Как отсортировать ассоциативный массив?
Есть массив многоуровневый ассоциативный массив типа вот такого (строчек будет больше): Array...

Как вывести ассоциативный массив?
Делал ajax запрос,он возвращает массив,но вот уже целых полчаса не могу вывести этот массив,не...

Как преобразовать ассоциативный массив в обычный?
Доброго времени суток. Суть такая. Есть ассоциативный массив вида: $arr = Можно ли его как то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru