我有一個表格,可以從一個選擇框和文本輸入字段的表格中發送最多爲$_POST['ore']
的整數。有問題的陣列是:計數數組值> 0
print_r($_POST)
//returns
Array
(
[ore] => Array
(
[0] => 1
[1] => 2
[2] => 0
[3] => 0
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
)
....
而這就是它得到的更大,它是一個小應用程序。 10個選擇框,10個輸入框。表單本身和其他功能很好。
但是,在提交時,將數據發送到處理所收集信息的另一頁面,並根據該陣列的count
生成一個帶有while
循環的新表。但是,我只想計數大於0的值,因爲零在技術上是空的。
我已經嘗試了多個函數,例子,碎片,並嘗試過笨運氣,但沒有積極的結果。我已經得到了一些部分工作,但大部分時間他們離開了最後一行。
我目前有size = count($_POST['ore']);
- 但是,這會創建一個包含10行的表(應該如此),並使用while代碼的最後一個循環填充表中的其餘行。功能性,但煩人,而不是我想做的事情。
我曾嘗試與array_filter
function nonzero($var){
return ($var > 0); }
$size = array_filter($_POST['ore'], "nonzero");
沒有運氣。
我試過if(isset($_POST['ore']))
在多個地方,但由於數組中有一個0值,所以在技術上設置了它。
那麼,如何計算或過濾計數$ _POST ['ore']數組的值來消除0,並只計數或返回大於0的鍵?
我敲打鍵盤,我提前感謝你。
編輯 - 找到了答案,謝謝大家的反饋這個清晨
function nonzero($var){
return ($var > 0); }
$size = count(array_filter($_POST['ore'], "nonzero"));
^^認爲這樣做是
請一個有意義的標題編輯你的問題。 – Jocelyn