如何使用键号作为数组的值?
How to use key number as a value at the array?
我有一个数组,其中每个项目都有一些参数。其中一个参数是带有该项目 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;....
您可以只定义密钥并在 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; });
你可以做类似
$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
,依此类推。
我有一个数组,其中每个项目都有一些参数。其中一个参数是带有该项目 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;....
您可以只定义密钥并在 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; });
你可以做类似
$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
,依此类推。