2017-10-15 96 views
-1

在php中,我可以使用什么函数来返回在字符串中出现> = 13次的所有子字符串?你能提供如何使用它的例子吗? 干杯。PHP:如何获得在字符串中出现特定次数的所有子字符串

例如: 我有一个子字符串,如“雨在同一地方,雨在新的地方,雨在旧的地方”。我想打印出在字符串中出现3次或更多次的所有子字符串。答案会给数组的数组(雨,在的,地点)

+1

你有什么试图做的,你可以添加你的试用代码,所以我们可以从那里拿起 –

+0

@ Theophilus-Omoregbee我一直没能找到一个类似的东西,我发现了一些东西数组上的array_filter,但没有任何字符串。我开始相信这是不可能的,但我决定询问专家。 – user3152377

+1

好的,你仍然可以给你一个逻辑的例子,你正在试图说你的问题 –

回答

1

你问子,但你的例子显示,你要的话:

$words = str_word_count($string, 1); 

$frequency = array_count_values($words); 

$result = array_filter($frequency, function ($x) { return $x >= 13; }); 

对于非英语和非西班牙语言你必须传递一个字符串,该字符串包含所需语言的所有字符作为str_word_count方法的第三参数。我也不知道你为什么问阵列数组。

+0

感谢您的回应!欣赏它。用你的代码与我的字符串,但得到一个空数组。 Dreamweaver在下面一行中提取错误: $ result = array_filter($ frequency,function($ x){return $ x> = 13;}); 同样的错误我不断从PHP手册中的例子中得到,但不知道如何纠正它。 – user3152377

+1

@ user3152377你使用什么PHP版本,你可以分享你的字符串例子吗?上面的例子使用匿名函数,如果你的PHP是旧的并且不支持它,你可以移动'''函数($ x){return $ x> = 13; }'''进入函数'''函数示例($ x){return $ x> = 13; }'''并使用'''array_filter($ frequency,'example')'''使用这个函数的名字而已。 – user1597430

+1

@ user3152377,如果您仅在Dreamweaver(编辑器,而不是PHP解释器本身)中看到错误,请尝试查找设置并检查它是否具有PHP版本的任何下拉列表。看起来你的编辑器试图验证PHP v5.2或更早版本的代码。 – user1597430

相关问题