我真的難住這一個。我有這個數組變量$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
和我不知道爲什麼。我認爲這是獲得「標題」價值的正確方法,我知道指數在那裏,價值在那裏。
我敢肯定的是,陣列正在通過發佈形式值填充:
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 />
是不是像'陣列([' 標題 '] => dafha [' 價格'] => adhfadhf)'或'Array(['title'] =>'dafha',['price'] =>'adhfadhf')'? – fedorqui 2013-02-15 22:45:25
這是第一個。 – Nolski 2013-02-15 22:46:54
BUt是你定義它的方式還是'print_r($ var)'的結果?因爲如果你正在定義它,應該是我說的第二種方式。 – fedorqui 2013-02-15 22:48:52