2011-07-03 52 views
0

我在DB 5个领域:未定义的变量在PHP

test1 = 1, test2 = 1, test3 = NULL, test4 = NULL, test5 = NULL 

PHP代码:

if(isset($result['test1'])){$test1= "Test1"; echo $test1}; 

if(isset($result['test2'])){$test2= "Test2"; echo $test2}; 

if(isset($result['test3'])){$test3= "Test3"; echo $test3}; 

if(isset($result['test4'])){$test4= "Test4"; echo $test4}; 

if(isset($result['test5'])){$test5= "Test5"; echo $test5}; 

$total = implode(", ", array_filter(array($test1, $test2, $test3, $test4, $test5))); 

echo $total; 

Finaly输出:

Undefined Variable test3 in Line 7

Undefined Variable test4 in Line 7

Undefined Variable test5 in Line 7

的Test1,Test2的

我想出了3点可能的方式,希望能够运行带有NULL值的代码,看看我是否会得到一个空白页,没有错误,不幸的是,他们都给我“Underfined变“错误:

  1. if(isset($result['test3'])){$test3= "OK"; echo $test3};

  2. if(!empty($result['test3'])){$test3= "OK"; echo $test3};

  3. if($result['test3']=='1'){$test3= "OK"; echo $test3};

帮助?提前致谢!

+1

请放慢脚步,需要一些时间来正确地格式化代码,使人们可以读取它。 – 2011-07-03 22:03:13

+1

当字段为NULL时,您希望在$ total中看到什么? –

+0

是否有'array_filter'的原因? –

回答

2
if(isset($result['test1'])){$test1= "Test1"; echo $test1} else { $test1="Abrakadabra"; } 
+0

谢谢!完美的作品! –

+0

我只是把它命名为NULL而不是Abrakadabra –

+1

我很高兴这有助于你做任何事情,但你可能做错了。 –

0

做到这一点的一种方式,而不array_filter

$result = array(); 

if(!empty($result['test1'])){$result[] = "Test1"; echo $test1;} 
... 

$total = implode(", ", $result); 
+0

我会玩这个代码。我想我喜欢这个逻辑。感谢您的额外帮助! –