@ShadowTrix

Повторно присвоить новое значение в массиве?

Из базы данных тянутся определенные данные пользователей в виде сущностей и из них создается самый простой массив на фетчинге метаданных:
public static function $all ($user_guid) {
	$all = [];
		
	$names = [
		'apple',
		'banan',
		'orange',
	];
		
	if (is_array($names) && !empty($names)) {
		foreach($names as $name) {
			$all = $all + тут-я получаю-из-$name-нужную-сущность;
		}
	}
		
	return $all;
}


Получив все нужные сущности. я пытаюсь им присвоить свои значения:

public static function addPrice($all) {
	foreach($all as $fruit) {
		$fruit->price = 100;
		$fruit->save();
	}
}

В итоге, нужное значение задается единожды, для первого по списку и далее выбирается второй и т.д.

Как выбрать все данные и, несмотря на их идентичность, последовательно присвоить нужное значение?

Всем спасибо.
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 3
Dreamka
@Dreamka
Web-разработчик.
Если я правильно понял вопрос, то примерно вот так
$array = [
       'apple',
       'banan',
       'orange',
];
$fruits = [];
foreach($array as $fruit) {
    $fruits[$fruit] = new stdClass();
    $fruits[$fruit]->price = $price;
}

В итоге получим массив $fruits в котором все сущности есть в виде объектов
Ответ написан
Lopar
@Lopar
системный администратор
$fruit = (object) $array;
Ответ написан
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Автора губит то, что вместо нормального кода он всё время пишет какие-то каракули.
И можно только догадываться, по его невнятному бормотанию, что там у него на самом деле.

Скорее всего, $all[$name] = //получение данных для name.
И разумеется, элемент массива здесь перезаписывается.
И надо ему что-то вроде $all[] =

Но в целом, конечно, этот вопрос надо отправить в музей, с табличкой "как не надо задавать вопросы. "
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы