2014-11-16 1 views
0

<button type="submit" name="apply[<?php echo $temp['j_id']; ?>]"> Apply</button>Исеть _POST для двумерного массива

$temp['j_id']; получает рандомизированы, который является уникальным. Я хочу знать, какая кнопка j_id была нажата на представленной странице, используя $ _POST и isset

При нажатии кнопки «Применить» требуется другое: здесь я хочу проверить, какие значения apply [] были установлены с использованием $ _POST, т.е. if(isset($_POST['apply'][]))

Как проверить IsSet за $ _POST для двумерных массивов

+0

Возможно, вам придется переписать или добавить дополнительные сведения к вашему вопросу, потому что трудно понять, что вы просите. – Tivie

ответ

0

После прочтения вопрос несколько раз, я думаю, теперь я понимаю. Проверьте, как я применил бы проблему в этом примере кода в Runable.

Быстрый ответ

Как проверить IsSet за $ _POST для двух одномерных массивов?

if (isset($_POST['apply']) && 
    isset($_POST['apply']['someuniqueid'])) 
{ 
    //Do stuff 
} 

где someuniqueid является идентификатор кнопки.


Более длинный ответ

В вашем случае, что someuniqueid именно то, что вы хотите, чтобы понять. Я предполагаю, что этот «идентификатор» имеет смысл, и вы заранее знаете все возможные идентификаторы. В этом случае вам нужно проверить каждый возможный ID до тех пор, пока не будет найдено совпадение. Простым способом является сохранение этих идентификаторов в массиве, а затем цикл через него.

$possibleIDs = array('a', 'b', 'c', 'd'); 

if (isset($_POST['apply'])) { 
    foreach ($possibleIDs as $id) { 
     if (isset($_POST['apply'][$id])) { 
      // Do stuff 
     } 
    } 
} 

Предложение

Однако, это очень неэффективно, потому что нужно создать массив с идентификаторами, а затем цикл через него, чтобы найти значение. На самом деле, нет смысла использовать массив «ключ» как «значение». Кроме того, «ключ» имена могут быть преобразованы/изменить (например, array('8' => 'foo') будут преобразованы в array(8 => 'foo').

Лучший подход, имхо, было бы присвоить этот идентификатор, чтобы значения кнопок.

<button type="submit" name="apply" value="<?php echo $temp['j_id']; ?>"> Apply</button> 

в принимающем скрипте, ваша кнопка идентификатор $_POST['apply'] значение.

Вы можете проверить этот пример в Runable. Обратите внимание на то, что только кнопка нажата, присваивается значение. остальные кнопки не представлены.

 Смежные вопросы

  • Нет связанных вопросов^_^