Если я хочу, чтобы определенные записи в массиве были помечены вручную (выделение определенных записей в базе данных по мере необходимости), чтобы их можно было обнаружить и, таким образом, обрабатывать по-разному. Мне интересно, каков идеальный способ сделать это? т.е. самый быстрый (с точки зрения производительности) и самый эффективный. В настоящее время я делаю это так:
Массив:
"A"=>"yes",
"B"=>"no >",
"C"=>"why",
Код обнаруживает это так:
if (strpos($string,' >')!==false) {//action//}
Так как вы можете видеть, что он обнаруживает запись, которую я вручную добавил >
к. Но это тоже раздражает, потому что тогда персонаж должен быть удален с str_replace
,
Сделайте массив ответов.
Вопрос:
$array = [
"A" => "yes""B" => "no" //this is the correct result.
"C" => "why"]
$answer = [
0 => "B";
]
И запустить некоторую логику сравнения; foreach значение массива, проверьте его с правильным ответом:
foreach($array as $key => $value){
if(in_array($key, $answer)){
// this is the correct answer. So process.
$correct = "The correct answer is ".$key." : '".$value."'";
}
}
unset($key,$value);
print $correct; // "The correct answer is B : 'no'"
Других решений пока нет …