要解决的 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
    )

在这一点之后,我有问题。我需要从数组id和项目thumbnail中获取。如果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()