我需要幫助來解決在我大學考試時出現的問題。它是這樣的:''PHP中的函數檢查關聯數組中有多少整數,數據不是通過參數傳輸,而是作爲全局變量''傳輸。謝謝!PHP函數檢查關聯數組中有多少個整數
回答
嘗試以下操作:
<?php
$a[0] = 1;
$a[1] = 'aam';
$a[2] = 5;
$a[3] = 'c';
$result = count($a);
$totalints = 0;
for ($i = 0; $i < $result; $i++)
{
if (is_int($a[$i]))
{
$totalints++;
}
}
echo "Total number of integers: " . $totalints;
?>
這是一個非常狡猾的問題。首先,PHP不是強類型的,所以「這是一個整數」的概念並不明顯。例如,這個數組中有多少個整數?
$array = array(5, "6", "7abc", 8.0, "9.0xyz", false);
如果我們嚴格看這些類型,就有一個整數。如果我們比較鬆散(即允許隱式類型強制),則有六個。你可以使用任意函數來確定是否對你的情況有類似的整數。我不覺得單單問題中有足夠的信息來給出一個答案,但我想你的講座中有更多的背景。
另外還有問題的另一個問題。 「關聯數組中有多少個整數」沒有明確的「in」定義,或者說,沒有定義數組的真實結構。考慮以下。
class Foo {
public $x;
public $y;
private $xy;
public __construct($x, $y) { $this->x = $x; $this->y = $y; $this->xy = $x * $y; }
}
$array = array(
10,
new Foo(3, 4),
array(
array(
12,
),
17,
3
)
);
你只是考慮頂層還是遞歸下降?如果遞歸下降,還必須掃描內部對象嗎?這些對象中的私有整數是否也在數組中?另外,遞歸下降的算法是否必須檢測並避免週期?對於真正需要什麼,存在着相當大的不確定性。
所以,要回答這個問題,你必須做出一些假設。我假設他們打算讓你用'is_int'函數或等價函數來檢查整數,以確定變量的類型。其次,我假設他們打算讓你只關注關聯數組的頂層。我想這個練習是爲了證明你對'foreach'的熟悉,如何訪問全局變量,以及變量仍然有類型的現實,即使PHP允許你忽略它們。
「數據不是通過參數傳輸,而是作爲全局變量」可能聽起來有點令人困惑,但這隻意味着您的函數不會引用任何參數。相反,它計算全局數組中的整數。在這個例子中,我將調用全局數組'$ globalArray'。
$globalArray = array("k1" => "foo", "k2" => 5, "k3" => "bar", "k4" => 10);
function num_ints_in_array() {
global $globalArray;
$num_ints = 0;
foreach ($globalArray as $v) {
if (is_int($v)) ++$num_ints;
}
return $num_ints;
}
只是一個額外的編輯樂趣:當然有很多方法。這個特殊的功能解決方案令我感到tick。。
function num_ints_in_array() {
global $globalArray;
return count(array_filter($globalArray, 'is_int'));
}
那麼,這個解釋很清楚!確實有很多假設。 –
- 1. 用php關聯數組檢查bool值
- 2. PHP查找關聯多維數組
- 3. 多維PHP關聯數組
- 4. PHP關聯多維數組
- 5. PHP關聯數組的哈希函數
- 6. PHP空函數 - 關聯數組
- 7. PHP - 數組中有多少個成員?
- 8. PHP數組關聯數組
- 9. 在現有的php關聯數組中添加更多數組
- 10. 檢查數組值中的另一個關聯數組
- 11. 如何在php中檢查所有空值的關聯數組?
- 12. 檢查是否至少有一個數組值在另一個數組中PHP
- 13. 帶有關聯數組的PHP計數函數
- 14. 與PHP/SQL關聯數組中的多個SQL查詢
- 15. PHP關聯數組
- 16. PHP數組關聯
- 17. PHP - 關聯數組
- 18. 搜索關聯數組中多個鍵的函數?
- 19. 排序關聯數組在PHP中有多個條件
- 20. PHP:我如何將多個關聯數組組合到多維數組中?
- 21. Python enterInteger函數 - 檢查有效整數
- 22. PHP:函數()檢查表索引數組
- 23. PHP使用empty()函數檢查數組
- 24. C函數檢查一個字母在數組中出現了多少次
- 25. 檢查其他數組中的關聯數組?
- 26. 如何檢查有多少個數組元素有值?
- 27. 重整關聯數組
- 28. 我使用什麼PHP數組函數來轉換多維關聯數組
- 29. PHP - 表中的2個關聯數組
- 30. php檢查數組數組
我想他們一定是跟你做1作爲沒有什麼準備這樣做 –
請重新表述的問題 - 因爲它代表它沒有意義。 –
請給出一個示例輸入和輸出。你在哪裏檢查?鑰匙?值?一維?多維?這個問題缺乏細節。 –