如何使用键号作为数组中的值?

时间:2019-07-11 17:36:45

标签: php arrays id array-key getid3

我有一个包含项目的数组,每个项目都有几个参数。参数之一是具有该项目ID的超链接。而且我需要该ID作为该商品价值的关键。

我已经尝试过这样的事情:

function item_preview($database)
 {
    foreach($database as $key=> $value)
    {
      $one= $key;
    }
      return $one;
}

$database= [
[
    'name'=> 'item_one',
    'img_src'=> 'pictures/item_one.jpg',
    'preview_href'=> 'item_site.php?id='.item_preview($database).'',
    'description'=> 'This product is.....' ,
],
[
    'name'=> 'item_two',
    'img_src'=> 'pictures/item_two.jpg',
    'preview_href'=> 'item_site.php?id='.item_preview($database).'',
    'description'=> 'This product is.....' ,
],

];

我需要的是...

 $database= [
 [
    'name'=> 'item_one',
    'img_src'=> 'pictures/item_one.jpg',
    'preview_href'=> 'item_site.php?id= here should be key number',
    'description'=> 'This product is.....' ,
],
[
    'name'=> 'item_two',
    'img_src'=> 'pictures/item_two.jpg',
    'preview_href'=> 'item_site.php?id= here should be key number',
    'description'=> 'This product is.....' ,
],
];

所以我需要ID作为该物品的钥匙。所以第一项id = 0;第二项ID = 1; .....

2 个答案:

答案 0 :(得分:2)

您可以做类似

的操作
$startingIndex = 0;

$database= [
[
    'name'=> 'item_one',
    'img_src'=> 'pictures/item_one.jpg',
    'preview_href'=> 'item_site.php?id='.$startingIndex++.'',
    'description'=> 'This product is.....' ,
],
[
    'name'=> 'item_two',
    'img_src'=> 'pictures/item_two.jpg',
    'preview_href'=> 'item_site.php?id='.$startingIndex++.'',
    'description'=> 'This product is.....' ,
],

这将导致第一个条目的ID为0,第二个条目的ID为1,依此类推。

答案 1 :(得分:0)

您只需定义密钥并在href中使用它即可:

$database= [
0=>[
    'name'=> 'item_one',
    'img_src'=> 'pictures/item_one.jpg',
    'preview_href'=> 'item_site.php?id=0',
    'description'=> 'This product is.....' ,
],
1=>[
    'name'=> 'item_two',
    'img_src'=> 'pictures/item_two.jpg',
    'preview_href'=> 'item_site.php?id=1',
    'description'=> 'This product is.....' ,
]];

或者,在定义数组之后,只需遍历并附加键即可:

$database= [
[
    'name'=> 'item_one',
    'img_src'=> 'pictures/item_one.jpg',
    'preview_href'=> 'item_site.php?id=',
    'description'=> 'This product is.....' ,
],
[
    'name'=> 'item_two',
    'img_src'=> 'pictures/item_two.jpg',
    'preview_href'=> 'item_site.php?id=',
    'description'=> 'This product is.....' ,
]];

array_walk($database, function(&$v, $k){ $v['preview_href'] .= $k; });