2013-02-27 45 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; 
    } 
}