簡體   English   中英

PHP array_filter與get_class過濾器

[英]PHP array_filter with get_class filter

我有一個對象數組,我想檢查其中是否有某個類名。 所以我嘗試了:

$all_classnames = array_filter($obj_array, 'get_class');
$found = in_array("classname_to_test", $all_classnames);

只有$ all_classnames仍然保留原始對象數組,而不是類名數組(通過get_class)。 我在這里想念什么嗎?

您要使用array_map (根據回調函數轉換輸入數組)而不是array_filter

$all_classnames = array_map('get_class', $obj_array);

請注意,與使用PHP的其他使用回調的數組函數相比, array_map的參數采用相反的順序。

這不是array_filter函數的工作方式。 它僅過濾數組,如果回調返回false ,它將從數組中刪除該元素。

您需要的是array_map

$all_classnames = array_map('get_class', $obj_array);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM