Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
 Аватар для PhantomSoft
8 / 5 / 3
Регистрация: 11.03.2015
Сообщений: 94

Как присвоить ключу массива значение из переменной?

18.06.2015, 10:33. Показов 3762. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть выборка из БД с занесением результатов в массив.
PHP
1
2
3
4
5
6
$status=[];
$sql="SELECT id, status FROM " . TABLE . " WHERE company=2";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
$status = array_merge($status, [$row['id'] => $row['status']]);
}
В БД такие данные, попадающие в выборку (оба поля целочисленные):
Code
1
2
3
id   status
2     1
3     2
В результате выполнения получаю в переменной $status
PHP
1
2
3
4
Array(2)(
[0]=>(string) 1,
[1]=>(string) 2,
)
А надо
PHP
1
2
3
4
Array(2)(
[2]=>(string) 1,
[3]=>(string) 2,
)
Приведение к строковому типу
PHP
1
$status = array_merge($status, [(string)$row['id'] => $row['status']]);
не повлияло на результат.
Пробовал вначале добавить ключ со строковым именем (чтоб потом удалить), т.е.
PHP
1
$status = array_merge($status, ['k'=>'v',(string)$row['id'] => $row['status']]);
но результат неизбежен от автонумерации:
PHP
1
2
3
4
5
Array(3)(
[k]=>(string) v,
[0]=>(string) 1,
[1]=>(string) 2,
)
Вложил массив в массив:
PHP
1
$status = array_merge($status, [$row['id']=> [$row['id']=>$row['status']]]);
после этого во внутренних массивах получил подобие правильного результата:
PHP
1
2
3
4
5
6
7
8
Array(2)(
    [0] => Array(1) (
            [2] =>(string) 1
        )
    [1] => Array(1) (
            [3] =>(string) 2
        )
)
Но ведь это не то! Мне массив $status надо отправлять в JSON на другой сервер, так что формат массива задан жёстко.
Как же бороться с автонумерацией ключей?

Добавлено через 7 минут
Ошибка была в применении array_merge.
Простым присвоением вопрос решился сам собой:
PHP
1
$status[$row['id']]=$row['status'];
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2015, 10:33
Ответы с готовыми решениями:

Как присвоить символьной переменной из массива ячеек значение
syms a b c m={a b c}; n=; Нужно a=28 Как вариант n=num2cell(n) =n{:} Так вот не получается m{1,1}=num2cell(28) ...

Как элементу массива присвоить значение переменной и случайного числа?
как элементу массива присвоить значение переменной и случайного числа. 1) поменять местами первый и последний элемент var j; item =...

Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С
Массив С действительных чисел имеет 5 строк и 11 столбцов. Присвоить значение наименьшего элемента массива переменной М1, номер строки, где...

1
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
18.06.2015, 10:38
А так?
PHP
1
$status[$row['id']] = $row['status'];
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2015, 10:38
Помогаю со студенческими работами здесь

Присвоить переменной значение из массива
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; ...

Переменной присвоить значение true, если элементы массива Х упорядочены строго по убыванию, и значение false иначе
Здравствуйте, помогите написать программу Дaн вeктoр X(70). Пeрeмeннoй 1 присвoить знaчeниe t_____, eсли элeмeнты мaссивa Х упoрядoчeны...

Как присвоить значение переменной, исходя из значения другой переменной?
Всем привет. Нужна помощь. Есть переменная, например "month" которая может принимать значения от 01 до 12, и переменная...

Как переменной описанной в программе присвоить значение переменной в Conditional Compilation Arguments?
Kak mozhno peremennij opisanoj v programme prisvoit` znachenie peremennoj v Conditional Compilation Arguments??? Eto nado chtoto tipa...

Как php переменной присвоить значение переменной javascript?
есть переменная php как ей присвоить значение переменной javascript?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru