根據https://parse.com/docs/php_guide#queries你需要提供一個數組,$用戶名是一個字符串。通過使用短數組符號,即方括號,您已經創建了一個只有一個元素的數組,即字符串。你需要的是一個有兩個元素的數組,對應於兩個感興趣的值。
如果由於某種原因,您的數據僅適用於此類型的格式化字符串,那麼您需要將其轉換爲數組。至少有兩種方法可以做到這一點:
<?php
$usernames = explode(",",str_replace("\"","","\"user1\",\"user2\""));
?>
這並不像看起來那麼複雜。代碼用空字符串替換包含每個值的引號。然後,通過指示逗號是分隔符,將字符串分解爲兩部分。雖然我從來沒有使用Parse的工作,我希望你可以在$現在的用戶名查詢替換第二個參數,如下所示:
<?php
$query->notContainedIn("username", $usernames);
不要使用方括號或您將創建一個多維數組,其第一個元素包含數組$ $ username。說字符串轉換爲數組的
替代方式:
<?php
$string = "\"user1\",\"user2\"";
$tok = strtok($string, "\",");
$usernames = null;
while ($tok !== false) {
$usernames[] = "$tok";
$tok = strtok("\",");
}
$用戶名現在包含就像我提出的以前的解決方案兩個值。雖然第二種解決方案涉及更多,但請注意,它只使用一個函數而不是兩個函數,因此可能會產生更快的結果。您可以嘗試這兩種解決方案,對其進行基準測試,然後選擇您認爲具有卓越性能的解決方案。
希望這會有所幫助。
謝謝沙龍,它非常完美! – Jason 2014-11-21 10:55:14