我在我的MySQL數據庫的序列化值,看起來像這樣:在序列化數組中使用in_array?
a:5:{s:4:"name";s:13:"Keith Donegan";s:3:"age";s:2:"21";s:7:"college";s:9:"Spin City";s:8:"category";s:1:"7";s:8:"checkbox";a:2:{i:0;s:1:"3";i:1;s:1:"9";}}
我可以輸出的複選框陣列很好,但我需要運行它againest另一組使用in_array IDS的,但我的代碼不工作,驚喜! :)
echo $eirepanel_general_options['checkbox']; // used in a foreach loop
查看值3 & 9,我需要測試這些。
編輯:主代碼
<?php
$eirepanel_general_options_saved = $_REQUEST['eirepanel_general_options_saved'];
if(isset($eirepanel_general_options_saved))
{
$eirepanel_general_options_name = $_REQUEST['eirepanel_general_options_name'];
$eirepanel_general_options_age = $_REQUEST['eirepanel_general_options_age'];
$eirepanel_general_options_college = $_REQUEST['eirepanel_general_options_college'];
$eirepanel_general_options_category = $_REQUEST['eirepanel_general_options_category'];
$eirepanel_general_options_checkbox = $_REQUEST['eirepanel_general_options_checkbox'];
$eirepanel_general_options = array
(
'name' => $eirepanel_general_options_name,
'age' => $eirepanel_general_options_age,
'college' => $eirepanel_general_options_college,
'category' => $eirepanel_general_options_category,
'checkbox' => $eirepanel_general_options_checkbox
);
update_option('eirepanel_general_options', $eirepanel_general_options);
}
else
{
$eirepanel_general_options = get_option('eirepanel_general_options');
}
$categories = get_categories();
foreach($categories as $category)
{
$eirepanel_general_options_string = $eirepanel_general_options['checkbox'];
$eirepanel_general_options_array = explode(',', $eirepanel_general_options_string);
echo$cat_ids = explode(',',$category->cat_ID);
$ids = array(8, 4);
var_dump($eirepanel_general_options_string);
?>
<?php // <input name="eirepanel_general_options_checkbox[]" type="checkbox" value="<?php echo $category->cat_ID; ?>
<?php // if($eirepanel_general_options_string == $category->cat_ID){ echo "checked='checked'"; } <br /> ?>
<span><?php echo $category->cat_name; ?></span>
<input name="eirepanel_general_options_checkbox[]" value="<?php echo $category->cat_ID; ?>" type="checkbox" <?php in_array($eirepanel_general_options_string, $ids) ? 'checked="checked"' : '' ?> /> <br />
<?php }
// var_dump($eirepanel_general_options_string);
?>
爲什麼不首先使用in_array反序列化數組?我沒有看到問題。 – 2011-04-21 12:15:34
爲什麼你只聲明變量將它們傳遞給數組? – 2011-04-21 12:39:16
我仍然在努力理解你的預期結果是什麼,以及你的實際結果是什麼。哪一點壞了? – 2011-04-21 12:40:15