Разнесение и труба в переменной $ _GET - PullRequest
0 голосов
/ 31 октября 2011

Я передаю некоторые данные, используя URL-адрес, и пытаюсь использовать канал для разделения различных частей данных. Например, одна из частей, которые я пытаюсь отправить, - это код курса, такой как «COP211 | 212 | 213», и у меня есть функция, которая взорвет эти части

explode("|",$code);

где $ code - из URL-адреса - что-то вроде coursecode.php? Q = COP211 | 212 | 213

Проблема в том, что взрыв ничего не делает! Я попытался взорвать ('|', взорваться ("|", взорваться ("/ |" и ничего не работает, строка проходит с неповрежденными трубами). В частности,

strpos($code, "|");

всегда возвращает FALSE.

Редактирование для уточнения

var_dump($code);
if(strpos($code, "|") !== FALSE) { // Manage slashed courses
    $cid = explode("|", $code);
}
var_dump($cid);

var_dump ($ code) возвращает строку целиком.

strpos ($ code, "|") ВСЕГДА возвращает false, даже если | присутствует.

var_dump ($ cid) - это не массив, это снова строка.

Это проблема с кодировкой или что-то еще, так как она сначала проходит через URL?

Помощь!

1 Ответ

1 голос
/ 31 октября 2011

Прежде всего, убедитесь, что $_GET содержит что-то, используя var_dump($_GET).

Ваша вторая проблема: explode() возвращает взорванную строку в виде массива. Чтобы заменить содержимое $code, сделайте следующее:

$code = explode('|', $code);
...