Я действительно в тупике. У меня есть эта переменная массива $banner_image_description
. Когда я печатаю его, я получаю Array (['title'] => dafha ['price'] => adhfadhf)
.Использование строк в качестве индекса массива PHP
Теперь, что я пытаюсь сделать, это проверить длину значения в «заголовке» и убедитесь, что это больше, чем 2. Поэтому, когда я бегу:
if (isset($this->request->post['banner_image']))
{
foreach ($this->request->post['banner_image'] as $banner_image_id => $banner_image)
{
foreach ($banner_image['banner_image_description'] as $language_id => $banner_image_description)
{
print_r($banner_image_description);
echo('<br/>');
if ((utf8_strlen($banner_image_description['title']) < 2) || (utf8_strlen($banner_image_description['title']) > 64))
{
$this->error['banner_image'][$banner_image_id][$language_id] = $this->language->get('error_title');
}
}
}
}
Я получаю Notice: Undefined index: title
и я не знаю, почему. Я думал, что это правильный способ получить значение в «title», и я знаю, что индекс есть, и значение есть.
Я уверен, что массив заселяются Размещая значения формы:
if (isset($this->request->post['banner_image']))
{
$banner_images = $this->request->post['banner_image'];
}
Вот что значение формы выглядеть следующим образом:
<input type="text"
name="banner_image[<?php echo $image_row; ?>][banner_image_description][<?php echo $language['language_id']; ?>]['title']"
value="<?php echo isset(
$banner_image['banner_image_description'][$language['language_id']]['title']) ?
$banner_image['banner_image_description'][$language['language_id']]['title'] : ''; ?>" />
<img src="view/image/flags/<?php echo $language['image']; ?>" title="<?php echo $language['name']; ?>" /><br />
Является ли это как 'Array ([' название '] => dafha [' цена '] => adhfadhf) 'или' Array (['title'] => 'dafha', ['price'] => 'adhfadhf') '? – fedorqui
Это первый. – Nolski
BUt - это то, как вы его определяете или результат 'print_r ($ var)'? Потому что, если вы определяете его, должно быть так, как я сказал 2-й. – fedorqui