2013-02-27 48 views
0

我正在PHP中使用codeigniter开发一个应用程序以用于工作流程过程。在codeigniter中声明一个大小为100的空数组php

现在我需要声明反正执行值存储在该数组动态尺寸100或200与空值default..whenever工作流的一个空数组..

我有我认为像一个阵列

if(isset($value)){ 

foreach ($value as $row) { 

$wer[] = $row; 

} 
} 

现在,每当工作流运行自动值开始使用form_dropdown('perfpmself_1',$rate,$wer[0],'class="self"'); 从上述格式我使用从$ WER [0]的所有值加载到$ WER [50]存储在视图。所有值将正常显示...但如果在数据库中没有值,将其加载到array..it抛出这样的错误

A PHP Error was encountered 

Severity: Notice 

Message: Undefined variable: wer 

Filename: views/performancepm.php 

任何人都可以提出一个解决方案来克服这个错误我查看屏幕?

提前请help..thanks

+0

你是PHP老了。您需要首先声明$ wer。 $ wer = array();在foreach之外。 – Steven 2013-02-27 17:04:51

+0

嗨史蒂芬..我忘了张贴数组声明代码..我声明它之前isset ..但没有用:( – smallerik 2013-02-27 17:42:31

+0

thanx为您的答复史蒂文..我写了一个SQL查询填充所有列值为0作为默认值..我的$ wer []存储在默认情况下为0 ..为你的即时回复:) – smallerik 2013-02-27 17:45:41

回答

0

你没有试图分配一个值之前,初始化$wer:全球

$options = array_fill_keys(range(0,99),null); 
echo form_dropdown('perfpmself_1', $options); 
+0

实际上,他可能需要在isset之前分配它。我敢打赌,无论价值如何,他都会引用它。 – mkaatman 2013-02-27 17:06:02

+0

也许吧。我没有太多的事情要继续下去,所以我只是在我知道它会被使用的地方宣布它。 – 2013-02-27 17:07:37

+0

嗨..感谢您的提示答复..无论之前isset或isset之后声明一个数组没有解决我的问题.. :(。而是我写了一个SQL查询填充所有列值与默认0 ..这有助于投掷0值默认..感谢您的建议:) – smallerik 2013-02-27 17:41:10

0

尝试。另外我会使用array_push,但那只是我。保持简单:

$wer = array(); 

if(isset($value)){ 

    foreach ($value as $row) { 

     array_push($wer, $row); 

    } 
} 

if(empty($wer)){ 
    //wer has values 
}else{ 
    // wer is not empty 
} 

在问候你的意见,因为据我所知,只有一个专门执行所需的字段中的CodeIgniter框架的方式:

$this->load->helper(array('form', 'url')); 

     $this->load->library('form_validation'); 

     $this->form_validation->set_rules('username', 'Username', 'required'); 

CodeIgniter Guide

否则您必须使用JavaScript或在您自己的PHP代码中执行它以查看是否为空字段:

if (isset($_GET['username'])){ 
//username isnt blank 
}else{ 
//username is blank 
} 
0

只要定义WER:

if(isset($value)){ 
    $wer = array(); 
    foreach ($value as $row) { 
     $wer[] = $row; 
    } 
}