幾年後,我在PHP中有點生疏,沒有用這種語言編程。警告:in_array()[function.in-array]:第二個參數的數據類型錯誤
我使用PHP從MySQL中的數組中獲取數據。
我的問題是,在某些時候,我從表中提取數據,使用這樣的:
$myArray = mysql_fetch_array($data);
,但在某些時候,數據庫可以是空的,所以$ myArray的將是空的或不包含元素。
然後我必須檢查一個特定的字符串是否在$ myArray上。如果是,則必須生成另一個字符串,並驗證它是否已經存在於$ myArray上。
$myString = generateString();
if (in_array($myString, $myArray)) {
$myString = generateString();
}
此代碼給我此錯誤:
警告:in_array()[function.in陣列]:錯誤的數據類型的第二個參數
爲了防止in_array運行$ myArray的時是空的我這樣做:
if (count($myArray) > 0) {
if (in_array($myString, $myArray)) {
$myString = generateString();
}
}
,但數量是給我1當數組是空的...
(?)我該如何解決?
只是另一個問題:$ myString在已經測試它的IF內被修改。這在PHP中可能嗎?
的'mysql'擴展是過時,不鼓勵使用。改用'MySQLi'或'PDO_MYSQL'。 http://www.php.net/manual/en/function.mysql-connect.php – KingCrunch
根據[文檔](http://php.net/manual/en/function.mysql-fetch-array.php) ,你可能會收到'假'的回報。你可以發佈'var_dump($ myArray)'的輸出嗎?注意,'mysql_ *'很快就會被棄用,請看[PDO](http://www.php.net/manual/en/ref.pdo-mysql.php)或[mysqli](取而代之的是http://www.php.net/manual/en/book.mysqli.php)。 –