我在這裏有一個新手問題,但我真的被困住了。我有一個來自數據庫SELECT的多維數組,我需要的很簡單,我正在做一個圖形,其中包含每個指定用戶的每列結果數。計算多維數組的結果
繼承人一些代碼來闡明你的思想:
try {
$pdo = new PDO('mysql:host=***; dbname=**;charset=utf8;', '***', '**');
}catch(PDOException $err){
echo "Erro:\n".$err->getMessage();
}
$sql = "SELECT * FROM results
WHERE ra like '****'";
$statement = $pdo->prepare($sql);
$statement->execute();
$result = $statement->fetchAll();
$resultPgto = array_column($result, 'indicado_pgto');
print_r($resultadoPgto);
這將返回我這陣:
array(3) {
[0]=>
string(18) "Indicacao Invalida"
[1]=>
string(3) "Nao"
[2]=>
string(3) "Nao"
}
我需要統計中等於Sim
的結果,它應該返回我0,但而當我做的東西像print_r($resultadoPgto == 'Sim');
它返回'1'...
其他有趣的事實是,當我嘗試返回結果等於Nao
(theres 2 there)它返回我0或1 ...
我在這裏失蹤了什麼?有人可以幫忙嗎?
EDIT 1:
計數結果本身將返回鍵陣列具有的數量。
以下是您理解的完整結果。
array(3) {
[0]=>
array(22) {
["dsadsad"]=>
string(7) "***"
[0]=>
string(7) "****"
["nome_aluno"]=>
string(25) "lore"
[1]=>
string(25) "ipsum"
["nome_indicado"]=>
string(25) "lore"
[2]=>
string(25) "ipsum"
["indicado_inscrito"]=>
string(18) "Indica��o Inv�lida"
[3]=>
string(18) "Indica��o Inv�lida"
["indicado_confirmado"]=>
string(18) "Indica��o Inv�lida"
[4]=>
string(18) "Indica��o Inv�lida"
["indicado_presente"]=>
string(18) "Indica��o Inv�lida"
[5]=>
string(18) "Indica��o Inv�lida"
["indicado_aprovado"]=>
string(18) "Indica��o Inv�lida"
[6]=>
string(18) "Indica��o Inv�lida"
["indicado_matriculado"]=>
string(18) "Indica��o Inv�lida"
[7]=>
string(18) "Indica��o Inv�lida"
["indicado_pgto"]=>
string(18) "Indicacao Invalida"
[8]=>
string(18) "Indicacao Invalida"
["validacao_indicacao"]=>
string(3) "N�o"
[9]=>
string(3) "N�o"
["validacao_desconto"]=>
string(3) "N�o"
[10]=>
string(3) "N�o"
}
[1]=>
array(22) {
["dsdsdasda"]=>
string(7) "***"
[0]=>
string(7) "***"
["nome_aluno"]=>
string(25) "lore"
[1]=>
string(25) "ipsum"
["nome_indicado"]=>
string(23) "lore"
[2]=>
string(23) "ipsum"
["indicado_inscrito"]=>
string(3) "Sim"
[3]=>
string(3) "Sim"
["indicado_confirmado"]=>
string(3) "N�o"
[4]=>
string(3) "N�o"
["indicado_presente"]=>
string(9) "EM ABERTO"
[5]=>
string(9) "EM ABERTO"
["indicado_aprovado"]=>
string(9) "EM ABERTO"
[6]=>
string(9) "EM ABERTO"
["indicado_matriculado"]=>
string(3) "N�o"
[7]=>
string(3) "N�o"
["indicado_pgto"]=>
string(3) "Nao"
[8]=>
string(3) "Nao"
["validacao_indicacao"]=>
string(3) "Sim"
[9]=>
string(3) "Sim"
["validacao_desconto"]=>
string(3) "N�o"
[10]=>
string(3) "N�o"
}
[2]=>
array(22) {
["asdasdsad"]=>
string(7) "***"
[0]=>
string(7) "***"
["nome_aluno"]=>
string(25) "lore"
[1]=>
string(25) "ipsum"
["nome_indicado"]=>
string(15) "lore"
[2]=>
string(15) "ipsum"
["indicado_inscrito"]=>
string(3) "Sim"
[3]=>
string(3) "Sim"
["indicado_confirmado"]=>
string(3) "N�o"
[4]=>
string(3) "N�o"
["indicado_presente"]=>
string(9) "EM ABERTO"
[5]=>
string(9) "EM ABERTO"
["indicado_aprovado"]=>
string(9) "EM ABERTO"
[6]=>
string(9) "EM ABERTO"
["indicado_matriculado"]=>
string(3) "N�o"
[7]=>
string(3) "N�o"
["indicado_pgto"]=>
string(3) "Nao"
[8]=>
string(3) "Nao"
["validacao_indicacao"]=>
string(3) "Sim"
[9]=>
string(3) "Sim"
["validacao_desconto"]=>
string(3) "N�o"
[10]=>
string(3) "N�o"
}
}
我需要的信息是"indicado_pgto"
唯一的領域,這就是爲什麼我做了array_column()
我真正需要的是比較每個值並計數,來回報我,有串'Sim'
上的任何位置,即使沒有任何'Sim'
字符串,它也會返回給我1
你走了!我說這是一件簡單的事情,有時我會爲我所遭遇的事情感到羞愧,但我認爲這是一個不斷髮展的過程!哈哈非常感謝你! –
喲可能想'echo $ counter;',因爲它不是數組'print_r()'不會工作 – RiggsFolly