私は本当にこれに困惑しています。私はこの配列変数を持っています$banner_image_description
。印刷するとArray ( ['title'] => dafha ['price'] => adhfadhf )
.
今、私がやろうとしているのは、「タイトル」の値の長さをチェックし、それが 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
ましたが、理由がわかりません。これが「タイトル」で値を取得する正しい方法だと思いました。インデックスがあり、値がそこにあることはわかっています。
フォームの値を POST することによって配列が取り込まれていることは確かです。
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 />