-4

我有一个这样的字符串:33,33,56,89,56

我需要了解如何使用这两种 JavaScript 计算该字符串中相似字符串部分的数量?

比如有33,33,56,89,56多少个 '33's 和多少个56s?使用 JavaScript?拆分或匹配在这里不起作用。实际上的情况是:这里有几个按钮具有相同的类和一个自定义属性 price 用于产品行。现在点击事件我正在获取这样的值$('.product_row').attr('price');,现在我需要计算这里点击了什么产品以及点击了多少次?我需要计算它是否是被点击的类似产品,它被点击了多少次?

所以,它 33,33,56,89,56 这个字符串会动态生成。

帮助这里的家伙。

4

3 回答 3

1

我不确定javascript,但这里是PHP:

$data = "33,33,56,89,56";    
$dataAsArray = explode(",", $data);
$valueCount = array_count_values($dataAsArray);
echo $valueCount[56]; // Should output 2

编辑:至于 JavaScript,请看这里: array_count_values for JavaScript

于 2013-11-15T11:18:26.750 回答
0

对于 PHP,请参阅http://php.net/manual/en/function.substr-count.php

<?php
$text = 'This is a test';
echo strlen($text); // 14

echo substr_count($text, 'is'); // 2

// the string is reduced to 's is a test', so it prints 1
echo substr_count($text, 'is', 3);

// the text is reduced to 's i', so it prints 0
echo substr_count($text, 'is', 3, 3);

// generates a warning because 5+10 > 14
echo substr_count($text, 'is', 5, 10);


// prints only 1, because it doesn't count overlapped substrings
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

JS:

var foo = 'This is a test';
var count = foo.match(/is/g);
console.log(count.length);
于 2013-11-15T11:20:23.497 回答
0

试试看

<?php 
$str = "33,33,56,89,56,56";
echo substr_count($str, '56');
?>

<script type="text/javascript">
var temp = "33,33,56,89,56,56";
var count = temp.match(/56/g);  
alert(count.length);
</script>
于 2013-11-15T11:30:50.853 回答