我再次需要您的帮助..:/
我有一个循环,他们必须从另一个数组中的一个数组中搜索值,但这将无法正常工作。如果在循环之外测试此示例,请工作我的代码。
这是循环之外的示例:
$lol = array_search("terra",$alleFarben);
echo("LOOL: ".$lol);
output:
LOOL: 195
但是,如果我循环这样做,他找不到195。:
loop:
for ($i=0; $i <count($colorNameFin) ; $i++) {
$colorNameFin[$i] = strtolower($colorNameFin[$i]);
echo($colorNameFin[$i]);
$pos = array_search($colorNameFin[$i],$alleFarben);
echo("<br>");
echo($pos);
echo("<br>");
}
output:
terra
artikel
156
artikel是数组'colorNameFin'中的下一个条目。而且我不明白,为什么array_search在循环之外而不是内部找到我的“ terra”。
感谢您的阅读:)
更新:
我有三个数组
1. colorNameFin = read color names from a csv like terra or blue fog and so on..
2. alleFarben = contains all of this colours on a specific position, like terra in colorNameFin = 195 in alleFarben
3. farbenNormal = contains the correct color to terra on the same position where it stored in alleFarben so i can read terra and search in farbenNormal[195] = yellow if i read terra in colorNameFin
答案 0 :(得分:0)
您可以使用array_column($colorNameFin, 'column_key')
从column_key列返回所有值,并将它们分配给一个新变量,这将是一个数组。然后在数组$colorNameFin[$i]
$words
<?php
$words = array_column($colorNameFin, 'column_key');
$found_key = array_search($colorNameFin[$i], $words);
答案 1 :(得分:0)
@Nick给了我正确的提示,我在数组alleFarben中搜索的字符串包含一个空格。因此,在数组alleFarben中找不到array_search正确的字符串,我的解决方案是在这里:
for ($i=0; $i <count($colorNameFin) ; $i++) {
$colorNameFin[$i] = strtolower($colorNameFin[$i]);
$colorNameFin[$i] = str_replace(' ','',$colorNameFin[$i]);
$pos = array_search($colorNameFin[$i],$alleFarben);
$colorOut[$i] = $farbenNamenNormal[$pos];
}
感谢所有考虑过我的问题的人:)