我真的被这个问题难住了。我有这个数组变量$banner_image_description。当我打印它时,我得到的是Array ( ['title'] => dafha ['price'] => adhfadhf )。
现在,我要做的是检查“title”处的值的长度,并确保它大于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”的值的正确方法,我知道索引和值都在那里。
我非常确定该数组是由POSTing表单值填充的:
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 />发布于 2013-02-16 06:50:59
这是一个警告,这是一个糟糕的编程,但还不会破坏任何东西。
这样做,它将确保密钥已设置并具有值。请记住,如果未设置此项以使键没有值,则您的echo语句将不会触发。
if (isset($banner_image_description['title']) && (utf8_strlen($banner_image_description['title']) < 2))
{
echo 'too short!';
}发布于 2013-02-16 07:46:31
var_dump()透露,关键字是including,所以if语句应该设置为
if ((utf8_strlen($banner_image_description["'title'"]) < 2) || (utf8_strlen($banner_image_description["'title'"]) > 64))https://stackoverflow.com/questions/14904624
复制相似问题