rya*_*nve 0 php arrays boolean function
我有一个(简化的)函数,用于in_array()
检查值是否在数组中:
function is($input) {
$class = array('msie','ie','ie9');
$is = FALSE;
if (in_array($input, $class)) {$is = TRUE;}
return $is;
}
if (is('msie'))
echo 'Friends don\'t let friends use IE.';
Run Code Online (Sandbox Code Playgroud)
我想把它分成两个独立的函数,第一个定义数组:
function myarray() {
$class = array('msie','ie','ie9');
}
Run Code Online (Sandbox Code Playgroud)
和第二运行退房要么是这样的:
function is($input) {
myarray();
$is = FALSE;
if (in_array($input, $class)) {$is = TRUE;}
return $is;
}
Run Code Online (Sandbox Code Playgroud)
或这个:
function is($input) {
global $class;
$is = FALSE;
if (in_array($input, $class)) {$is = TRUE;}
return $is;
}
Run Code Online (Sandbox Code Playgroud)
但是上述两种情况都会导致此错误:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/vanetten/temp.ryanve.com/PHP/airve.php on line 73
Run Code Online (Sandbox Code Playgroud)
在另一个函数中使用数组的正确方法是什么?数组可以是全局变量吗?我该如何工作?使用全局变量或在第二个函数中调用第一个函数是否更有效.任何帮助肯定是赞赏.
从第一个函数返回数组:
function myarray() {
return array('msie','ie','ie9');
}
function is($input) {
$array = myarray();
return in_array($input, $array);
// or even just
// return in_array($input, myarray());
}
Run Code Online (Sandbox Code Playgroud)