使用数组索引显示前5个数组元素

时间:2019-01-09 06:35:10

标签: php arrays

我有一个$active_asset_id = 33,我有一个数组为

$media_asset_id  = array("22", "21", "23","33", "43", "55");

$ex = array_search($active_asset_id, $media_asset_id);

它将返回匹配元素的索引。

基于索引,我需要显示前3个元素,引用该匹配的索引。

如何在php中做到这一点?有内置功能可用吗?

例如:

如果media_asset_id数组中有33个匹配项,则我需要22、21、23个ID的列表

5 个答案:

答案 0 :(得分:2)

在这种情况下,您可以使用grid-column-end

$media_asset_id  = array("22", "21", "23","33", "43", "55");

$active_asset_id = "33";
$ex = array_search($active_asset_id, $media_asset_id);

print_r(array_slice($media_asset_id, 0, $ex));  

// outputs
//  Array
//  (
//      [0] => 22
//      [1] => 21
//      [2] => 23
//  )

答案 1 :(得分:0)

您可以使用for循环在给定索引之前显示数据,如下所示。只能显示数组中的前3个值。

<?php
$active_asset_id = 55;
$media_asset_id  = array("22", "21", "23","33", "43", "55");

$ex = array_search($active_asset_id,$media_asset_id  );

$counter = 1;
for($i =0; $i <=$ex; $i++){
    if($counter == 4){
        break;
    }
    echo $media_asset_id[$i];
    $counter++;
}

答案 2 :(得分:0)

array_slice可以。

$active_asset_id = 33;
$media_asset_id  = array("22", "21", "23","33", "43", "55");

$ex = array_search($active_asset_id,$media_asset_id  );
$finalList = array_slice($media_asset_id, 0, $ex);
print_r($finalList);

答案 3 :(得分:0)

这给出了找到的针头前面的3个元素。如果前面的元素较少,它将给出索引0中的所有前面的元素。

sequelize.transaction()

或者您可以简单地做

$media_asset_id = array("22", "21", "23","33", "43", "55");
$ex             = array_search('33', $media_asset_id);

if(false !== $ex)
{
  $c = $ex < 3 ? $ex : 3;
  var_dump(array_slice($media_asset_id, $ex-$c, $c));
}

答案 4 :(得分:0)

检查最简单的一个代码


    $active_asset_id = 33;
    $media_asset_id  = array("22", "21", "23","33", "43", "55");
    $ex = array_search("33", $media_asset_id);
    $arr  =  array_slice($media_asset_id,0, $ex); // Additional Line
    print_r($arr);

输出: 数组([0] => 22 [1] => 21 [2] => 23)