@KRHD

Можно ли в масиве вставить if?

Есть код:
$replace = [
    '{name}' => $settings['title'],
    '{lastBuy}' => $lastBuy,
    '{history}' => $history, 
    '{privilege}' => $privilege,
    '{nowDate}' => date('o'), 
    '{music}' => '<embed src="/new.mp3" volume="-300" hidden="true" autostart="true">',
    '{admin}' => $settings['AdminVkId']
];

Как можно вставить к примеру проверку включена ли music или нет?
Если в confige $settings['music'] равен true, то
{music} = '<embed src="/new.mp3" volume="-300" hidden="true" autostart="true">',

а если false, то '' - пусто
  • Вопрос задан
  • 246 просмотров
Решения вопроса 1
Используйте тернарный оператор.

'{music}' => $settings['music'] ? '<embed src="/new.mp3" volume="-300" hidden="true" autostart="true">' : '',
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега PHP
Вот так будет понятней.
$replace = array();

if ($settings['music'])
{
  $replace['{music}'] = '<embed src="/new.mp3" volume="-300" hidden="true" autostart="true">';
}
else
{
  $replace['{music}'] = "";
}

....


Но, можно и автоматизировать. Немного)
$tmp = [
    'name' => $settings['title'],
    'lastBuy' => $lastBuy,
    'history' => $history, 
    'privilege' => $privilege,
    'nowDate' => date('o'), 
    'music' => '<embed src="/new.mp3" volume="-300" hidden="true" autostart="true">',
    'admin' => $settings['AdminVkId']
];
$replace = array();
foreach($tmp as $key => $value)
{
  if ($settings[$key])
  {
    $replace["{{$key}}"] = $value;
  }
  else
  {
    $replace["{{$key}}"] = "";
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы