Она села на берегу Рио-Гранде и заплакала...

  • Автор темы terrakot
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

terrakot

#1
Доброго всем.
Такая проблема, чисто теоретическая:
Есть простенький код:

Код:
$arrCarAccess = array(
'1' =>'mytychi.car',
'3'=>"odincovo.adscar",
'4'=>"kolomensk.car",
'5'=>"podolsk.car",
'6'=>"stupino.car",
'7'=>"noginsk.car",
'8'=>"serpuchov.car",
'9'=>"himki.car",
'10'=>"balachiha.car",
'11'=>"orechovo.car",
'12'=>"dmitrovscky.car",
'13'=>"klinsky.car",
'14'=>"ramensky.car",
'15'=>"egoryevsk.car",
'16'=>"sergiev.car",
'17'=>"narofominsk.car",
'19'=>"krasnogorsk.car",
'0'=>"all.car");



$arrCarAccess2 = $_REQUEST['branchID'];
if (is_int($arrCarAccess2)){
if($arrCarAccess2>0&&$arrCarAccess2<20) {
if ($arrCarAccess2!=2){
$appName = $arrCarAccess[$_REQUEST['branchID']];
}
}
else{$appName = $arrCarAccess['0'];
}
}

Код не работает.
Риквест не хочет отдавать ЦЕЛОЧИСЛЕННОЕ, а так хочется:) 
Получает отсюда:

<script language="JavaScript" type="text/JavaScript">

var branchID = '<xsl:value-of select="/page/query/branchID"/>';

бла-бла-бла - это окно: 
window.onmapload = function() {
if (gisAppsList.indexOf('carTrack') != -1) {
gisAppCount--;
cartrack_panel = new Panel(
'/gismog/applications/cartrack/cartrack.php?' + 'branchID=' + branchID,	'car', 'Автомобили', 200, 387, 160, 0, false, true, false,
function() {try {cartrackInit()} catch(err) {alert("car load fail")}}
);

Вопрос: что можно сделать, чтобы branchID доходил не строковым числом (если это будет число), а просто числом? Возможно ли такое или чепуха? На тестовых страницах я делаю - он работает когда задаешь вот так:
<?php
//echo "mio\n";
$_REQUEST = array('branchID' => 3);

//$_REQUEST = array('branchID' => 'мусор раз');
//$_REQUEST = array('branchID' => '333');
//$_REQUEST = array('branchID' => '1');
//$_REQUEST = array('branchID' => '');
// $_REQUEST = array('branchID' => '1,2');
// $_REQUEST = array('branchID' => '3.4');
//$_REQUEST = array('branchID' => '0.0009');
//$_REQUEST = array('branchID' => '-1');
// $_REQUEST = array('branchID' => '3e15');
//$_REQUEST = array('branchID' => '2');
//$_REQUEST = array('branchID' => 'htynm');


$arrCarAccess2 = $_REQUEST['branchID'];
echo $arrCarAccess2;
echo "\n";
if (is_int($arrCarAccess2)) {
if($arrCarAccess2 > 0 && $arrCarAccess2 < 20) {
if ($arrCarAccess2==2){
echo "two";
}
else{
echo "yes";
}
}
else {echo "no!";
}
}
else{
echo "not integer";
}
?>
В других случаях отказывается(я имею ввиду "числовых" случаях).
Не советуйте, пожалуйста, применять другую фунцию, я уже применил. Вопрос чисто теоретический, повторюсь. Надо же как-то расти :( Спасибо за проявленное внимание.
 
Статус
Закрыто для дальнейших ответов.