Сессии PHP, объявляющие «китайский» из массива - PullRequest
1 голос
/ 01 апреля 2011

Когда я печатаю_ мою сессию, я получаю:

Array ( [languages] => Array ( [0] => Chinese ) )

что я и хотел.

И у меня есть утверждение if:

if($SESSION == 'Chinese'){
        $_POST['languages'] = array('Chinese');

}

Что я считаю правильным на 100%, но проблема в том, что оператор if сравнивается с правильной частью массива. Оператор If не работает, хотя. Я подумал, что это может быть что-то вроде:

$session[0] но это не сработает, может, я использую неправильный параметр, если я буду использовать что-то другое, чем ==, и идеи будут высоко оценены

Ответы [ 3 ]

2 голосов
/ 01 апреля 2011
if($SESSION["languages"][0] == 'Chinese'){
        $_POST['languages'][] = "Chinese";

}

Вы также можете сделать это ...

$_POST['languages'] = $SESSION["languages"];

То, что вы хотите, это ...

$languages = array("English","Japanese","Chinese","Hungarian","Arabic","French","Russian","Korean","German");
foreach($_SESSION["languages"] as $language){
    if(in_array($language, $languages)){
        $_POST["languages"][] = $language;  
    }
}
2 голосов
/ 01 апреля 2011

Возможно:

if ($_SESSION['languages'][0] == 'Chinese') {
    $_POST['languages'] = array('Chinese');
}
0 голосов
/ 01 апреля 2011

Вы хотите:

if($_SESSION['languages'] == 'Chinese')

Однако вы не хотите назначать значения массиву $ _POST. Эти значения следует заполнять только со стороны клиента (отправка формы и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...