【发布时间】:2021-12-11 00:40:40
【问题描述】:
我有一个数组,我想检查键是否等于特定字符串,因此我可以使用该信息并根据给定的键为另一个变量 $x 赋予新值。
到目前为止,我尝试了if (array_key_exists('slot1', $logoImages2)) {}(例如),但这似乎不起作用。
所以数组看起来像这样:
'images2' => [
'slot1' => 'images/Beutel.svg',
'slot2' => 'images/Bund.svg',
'images/Container.svg',
'slot7' => 'images/DIY.svg',
'images/Flasche.svg',
'images/Sack.svg',
'slot4' => 'images/Eimer.svg',
],
如您所见,一些数组项有一个键,而一些没有键。现在我想检查,当给定一个键时,该键是否等于给定值,例如“slot7”。 所以理论上我想实现这样的目标(这只是为了解释我的最终目标):
foreach ($logoImages2 as $slot => $logo) {
if (isset($slot)) {
if (/* $slot is equal to 'slot7' */) {
$x = $x2
} elseif (/* $slot is equal to 'slot9' */) {
$x = $x4
}
}
}
【问题讨论】:
-
所以数组看起来像这样不!请准确地向我们展示该阵列的外观。试试
print_r($logoImages2); -
如你所见,有些数组项有键,有些没有键 嗯NO!! 有些有关联键,例如
'slot1',而另一些则有 数字键 没有键就不可能有数组项 :) -
密钥为
slot1, slot2, 0, slot7, 1, 2, slot4 -
如果这行得通
foreach ($logoImages2 as $slot => $logo) {那么你的数组看起来不像你说的