我想將大型字符串轉換成更小的塊,並在數據庫中計算每個塊的發生將大字符串分成更小的塊並計算每個塊php?
例如:
###Windows###Apple###Android
現在我想在列數的Windows,蘋果,安卓的發生「回答「所有數據庫。
回答欄中的字符串可能無法一直固定,這取決於答案!
我想將大型字符串轉換成更小的塊,並在數據庫中計算每個塊的發生將大字符串分成更小的塊並計算每個塊php?
例如:
###Windows###Apple###Android
現在我想在列數的Windows,蘋果,安卓的發生「回答「所有數據庫。
回答欄中的字符串可能無法一直固定,這取決於答案!
你可以用這個相當低效的方法做到這一點:
select v.val, count(*)
from (select 'Windows' as val union all
select 'Apple' union all
select 'Android'
) v join
table t
on t.answer like concat('%', v.val, '%')
group by v.val;
謝謝戈登!但答案欄中的值可能不會固定所有時間它將取決於答案! – 2014-09-11 04:51:57
我沒了解清楚你的問題,但如果我是正確的,你希望是這樣的。
首先,您必須查詢數據庫以獲取答案列,然後必須將答案放入字符串中。然後使用substr_count
。就像這樣。
<?php
$text = '###Windows###Apple###Android';
echo substr_count($text, 'Windows');
?>
希望這是你在找什麼。
有沒有可靠的方法將文本分成塊?就像每個詞被一些###分隔開一樣? – Kostronor 2014-09-11 04:36:02
看起來謊言你應該正常化的數據 – 2014-09-11 04:47:52