Здравствуйте! Есть массив PHP: $b = array('act' => 'undefined', 'ses_limit' => '15', 'boxchecked' => '0', 'ses_admin' => '1'); ?> <pre> <?php print_r ($b); ?> </pre> <?php Который выводит HTML: Array ( [act] => undefined [ses_limit] => 15 [boxchecked] => 0 [ses_admin] => 1 ) Что нужно добавить, чтоб в массиве обрезались лишние ключи в которых не содержиться ses_, т.е. получалось так HTML: Array ( [ses_limit] => 15 [ses_admin] => 1 )
PHP: <?php $b = array('act' => 'undefined', 'ses_limit' => '15', 'boxchecked' => '0', 'ses_admin' => '1'); $o = array(); foreach($b as $key=>$value){ if(strpos($key, 'ses_') !== false) $o[$key] = $value; } echo '<pre>'.print_r($o, true).'</pre>';
если всего 2 значения убрать то заюзать PHP: unset($b['ses_limit']); unset($b['ses_admin']); хотя лучше слушай гуру ;D
ага! Спасибо. И еще вопрос. В БД содержатся данные в виде serialize($_POST); обрезанные PHP: <?php foreach($b as $key=>$value){ if(strpos($key, 'ses_') !== false) $o[$key] = $value; } a:3:{s:3:"ses_act";s:9:"undefined";s:10:"ses_boxchecked";s:1:"0";} Как сделать сравнение, т.е. сравнить массив из БД с массивом _POST PHP: <?php $_POST['ses_limit'] = '20'; $POST_in = (isset($_POST)) ? $_POST : array(); и чтоб в случае отсутствия в БД допустим параметра ses_limit который присутствует в _POST он добавлялся в массив который будет записан в БД. Надеюсь понятно объяснил )
Gromo Спасибо получилось! Еще вопрос ) В массиве у меня глобальная переменная $_POST, т.е. код такой PHP: <?php $p = array(); foreach($_POST as $key=>$value) { if(strpos($key, 'ses_') !== false) $p[$key] = $value; } echo '<pre>'.print_r($p, true).'</pre>'; Как насчет безобастности переменной _POST, не надо ли ее какнить защитить?
skillful сам ответить на этот вопрос должен ты, юный падован скажи нам что видишь в этом коде, и истина придет к тебе