PHP出现的字数

时间:2015-11-25 17:05:22

标签: php match

我正在尝试学习一些PHP,并且我已经完全坚持了。

我正在使用SOAP。我可以将一个单词与数组中的内容匹配,然后输出该单词在数组中显示的次数吗?

我目前有这个输出我要匹配的内容,但我似乎无法找到显示单词出现次数的方法。

$facilities = $message->Facilities->FacilityInfo;

foreach ($facilities as $data) {
    echo $data->Name."<br>";
} 

任何帮助都会很棒!

2 个答案:

答案 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";
}

?>