PHP数组代码求解

PHP array code to solve

我在 joomla 上有视频组件。我想获取当前项目的 ID 和缩略图。我使用下面的代码并从数据库中获取 ID 和缩略图。

/// **Get a db connection.**
$db = JFactory::getDbo();
 // **Create a new query object.**
$query = $db->getQuery(true);
$query
    ->select($db->quoteName(array('id','thumbnail')))
    ->from($db->quoteName('#__hwdms_media'));

$db->setQuery($query);
$results = $db->loadObjectList();//Load data from database
$thisitem = $this->item->id; // **HWD media share this item id** 
$objectoarr = json_decode(json_encode($results),true); // **Convert stdClass object to array**

打印时

print_r ($objectoarr);

得到结果

    [1] => Array
        (
            [id] => 46
            [thumbnail] => https://i.ytimg.com/vi/SXTOwG1XhSM/maxresdefault.jpg
        )

    [2] => Array
        (
            [id] => 47
            [thumbnail] => https://i.ytimg.com/vi/ASoOUK05d4A/maxresdefault.jpg
        )

    [3] => Array
    (
        [id] => 48
        [thumbnail] => https://i.ytimg.com/vi/i4VkHHh0n7Q/sddefault.jpg
    )

在这之后我遇到了问题。 我需要从项目的数组 idthumbnail 中获取。如果 id 等于 $thisitem = $this->item->id

显示此项thumbnail。 请帮助解决这个问题。

为此,您只需循环遍历收到的数组并检查内部缩略图数组的 ID 是否匹配。

foreach ($objecttoarr as $thumbnail) {
    if ($thumbnail['id'] == $this->item->id) {
        // Do something with $thumbnail['id'] and $thumbnail['thumbnail']
    }
}

对代码取数据做一个小的调整,你会得到id作为数组中的键:

$results = $db->loadObjectList('id');//Load data from database

现在可以通过id获取:

$current = $results[$this->item->id]; // this is you current item

Docs for JDatabaseDriver->loadObjectList()