我正在尝试学习一些PHP,并且我已经完全坚持了。
我正在使用SOAP。我可以将一个单词与数组中的内容匹配,然后输出该单词在数组中显示的次数吗?
我目前有这个输出我要匹配的内容,但我似乎无法找到显示单词出现次数的方法。
$facilities = $message->Facilities->FacilityInfo;
foreach ($facilities as $data) {
echo $data->Name."<br>";
}
任何帮助都会很棒!
答案 0 :(得分:1)
正如Niranjan所指出的,你可以在循环中使用if语句并计算特定的单词。
$cnt = array();
foreach ($facilities as $data) {
if ($data->Name == "Jan") $cnt++; // the best given name ever ;-)
echo $data->Name."<br>";
}
echo "Count of Jan: " . $cnt;
作为替代方案,如果整个$facilities
数组仅由单词组成,则可以采用更抽象的方法:
$cnt = array();
$facilities = ['Jan', 'Ben', 'Jan', 'Agathe', 'Christine', 'Jan'];
foreach ($facilities as $name) {
$cnt[$name]++;
echo $name."<br>";
}
print_r($cnt);
// array("Jan" => 3, "Ben" => 1, "Agathe" => 1, "Christine" => 1);
除了我的麻醉性人格障碍(算我几次,那是;-)),这可能是一个很好的起点。
答案 1 :(得分:0)
您可以使用:
<?php
$searchWord = 'search';
$message = "search search no yes maybe works";
$words = explode(" ", $message);
if (in_array($searchWord,$words)) {
$cntArray = array_count_values($words);
echo $cntArray[$searchWord] . " $searchWord word count";
}
?>