Rumah pembangunan bahagian belakang tutorial php 帮小弟我把这函数精简下啊

帮小弟我把这函数精简下啊

Jun 13, 2016 pm 01:26 PM
ar keyword quot split varchar

帮我把这函数精简下啊,,

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php $varchar='德国和丹麦都在第一场比赛1-0获胜,在次轮比赛中,德国2-1击败荷兰,两场小组赛战罢,德国队虽然拿到了6分,但依然未能保证出线,最后一场如果输给丹麦仍然有出局可能。丹麦上一场在0-2落后的情况下连追两球,但最后还是2-3输给葡萄牙,将小组次席拱手让给葡萄牙。

丹麦想要出线必须力争击败德国,好在他们也不缺乏击败德国的感觉。在两队最近3场交手中,丹麦令人吃惊地2胜1平占据上风,最近一次交手是在2010年8月,丹麦在落后两球情况下扳平比分。两队上一次在欧洲杯交手则是1992年欧洲杯决赛,当时正是丹麦童话的巅峰,北欧人2-0击败德国夺冠。

在德国队前两场比赛中,戈麦斯成为最大的亮点。超级马里奥连续两场比赛包揽了德国3粒进球,恐怖的是他进3球居然只花了6脚射门。戈麦斯目前以3球排名射手榜首位,自从1976年欧洲杯穆勒单届射进4球以来,德国队此后36年还没有任何球员欧洲杯单届进球超过3个。左边锋波多尔斯基在此前两场小组赛均打满全场,国家队出场次数达到99场,本场有望实现百场。

双方都没有对首发阵容进行大的调整,德国队只是因为博阿滕停赛而派上了本德,丹麦也只换上鲍尔森,队内元老罗梅达尔因伤缺席。本场德国前锋波多尔斯基迎来国家队第100场比赛,小将本德则是首次在国家队首发。

第2分钟,赫迪拉禁区前沿左侧传中,中路无人拿到皮球,后点穆勒胸部停球后左脚抽射稍稍高出。第5分钟,丹麦左侧角球,本特纳远点头球攻门被诺伊尔拿到。1分钟后,德国迅速反击,厄齐尔左侧直塞,波多尔斯基传中,克亚尔解围不力,穆勒门前3米处射门被安德森神奇化解。第12分钟,戈麦斯禁区外围左脚远射高出。';


$keyword="本德|鲍尔森";
//$keyword="射门|本德|鲍尔森";
//$keyword="丹麦|角球|头球|神奇";


function pipeidu($keyword,$varchar,$length){
    $keyexp=explode('|',$keyword);
    $keyNum=count($keyexp);
$ar = preg_split('/('.$keyword.')/', $varchar, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE);
for($j=0; $j<count($ar)-1; $j++) {
  $t = $ar[$j][1];
  $r[$t] = 0;
  for($i=$j; $i<count($ar); $i++) {
    if($ar[$i][0] == '本德'||$ar[$i][0] == '鲍尔森') {  //[color=#FF0000]求此处适应一个或多个词组,越精简越好[/color]。
      if($ar[$i][1]+strlen($ar[$i][0]) - $t < $length) $r[$t]++;
      else $r[$t=$ar[$i][1]] = 0;
    }
  }
}
if(isset($r)&&count($r)>0){
arsort($r);
$r=array_keys($r);
return $r=substr($varchar,$r[0],$length);
}
else{return $r=substr($varchar,0,$length);}
}
?>
Salin selepas log masuk


------解决方案--------------------
呵呵, 原来你就喜欢用这些半残废封装.
------解决方案--------------------
to qq120848369
lz 的代码不是如你所说 http://topic.csdn.net/u/20120619/02/c024bcf0-9c61-4e61-b58c-2844f0af2310.html
1,扫一遍找出所有的关键字。
2,再扫一遍,计算出每个end_index位置之前的关键字总数,同时计算180个字符之前的beg_index位置的关键字个数差值。
3,对关键字差值最大的180长度的段,strrstr,strstr分别头尾找到一个关键字,把多余的部分切掉,这样可以让字符再少一点。

的思路做的吗?
1、用 preg_split 完成找出所有的关键字
2、从每一个关键字出现的位置开始统计指定长度内关键字出现的次数(双重循环)

当然 lz 的代码也是用可优化的地方的,比如
外层循环中的
$t = $ar[$j][1];
 $r[$t] = 0;
与内层循环中的
 $r[$t=$ar[$i][1]] = 0;
存在重复计算的问题(因为外层的 $j 已经遍历了全部关键字节点)
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pengasas XREAL Xu Chi: Apple membolehkan semua orang melihat masa depan pengkomputeran spatial, dan kami bekerja keras untuk membolehkan semua orang melihat masa kini pengkomputeran spatial. Pengasas XREAL Xu Chi: Apple membolehkan semua orang melihat masa depan pengkomputeran spatial, dan kami bekerja keras untuk membolehkan semua orang melihat masa kini pengkomputeran spatial. Jun 02, 2024 pm 07:55 PM

XREAL melancarkan produk baharu - XREALBeamPro pada persidangan pelancaran produk baharu pengkomputeran spatial, berharga daripada 1,299 yuan. Menurut pengenalan rasmi, XREALBeamPro ialah terminal pengkomputeran yang secara beransur-ansur mengeluarkan aplikasi 2D ke dalam ruang 3D Dilengkapi dengan cermin mata XREALAR, ia akan membentuk "sistem pengkomputeran ruang AR gred pengguna yang lengkap" dan meminimumkan kos migrasi pengguna daripada telefon mudah alih. sebelah. Dari segi reka bentuk, XREALBeamPro kelihatan seperti telefon pintar, tetapi ia bukan produk telefon bimbit, tetapi terminal pengkomputeran spatial yang dilengkapi dengan paparan sentuh. Ia secara rasmi diletakkan sebagai "terminal pengkomputeran spatial AR seperti Telefon". Pada sidang akhbar itu, pengasas dan Ketua Pegawai Eksekutif XREAL Xu Chi menyatakan semangatnya terhadap keupayaan BeamPro.

Cara membina aplikasi AR/VR menggunakan PHP Cara membina aplikasi AR/VR menggunakan PHP Jun 11, 2023 pm 07:22 PM

Dengan pembangunan AR (Augmented Reality) dan VR (Virtual Reality), kedua-dua teknologi ini telah menjadi bahagian penting dalam inovasi dan pengalaman. Dengan populariti PHP sebagai bahasa pengaturcaraan rangkaian, PHP telah menjadi pilihan yang sesuai untuk membangunkan aplikasi AR/VR. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membina aplikasi AR/VR. 1. Fahami teknologi AR dan VR Sebelum kita mula mencipta aplikasi AR/VR, kita perlu memahami teknologi dan perpustakaan yang berbeza. Teknologi AR membolehkan objek atau maklumat maya berinteraksi dengan persekitaran dunia sebenar. V

Microsoft meneroka paten AR/VR menggunakan tatasusunan kanta mikro untuk manipulasi sudut sinar ketua jarak luas Microsoft meneroka paten AR/VR menggunakan tatasusunan kanta mikro untuk manipulasi sudut sinar ketua jarak luas Sep 30, 2023 pm 09:29 PM

(Nweon 26 September 2023) Microsoft percaya bahawa MicroLED mempunyai ciri saiz kecil, ringan, kecerahan tinggi dan ketumpatan pembungkusan yang tinggi, dan mungkin sangat sesuai untuk peranti yang dipasang di kepala yang memerlukan resolusi tinggi, saiz kecil dan ringan. . Dalam aplikasi paten bertajuk "Microlenses menyediakan manipulasi sudut sinar ketua pelbagai untuk paparan panel", Microsoft memperkenalkan kanta mikro yang menyediakan manipulasi sudut sinar ketua julat luas untuk paparan panel, dan sistem paparan yang dikonfigurasikan dengan tatasusunan mikrolens. Di mana, setiap mikrolens dalam tatasusunan sepadan dengan piksel paparan panel masing-masing. Microlenses dikonfigurasikan mengikut mereka

Teknologi Mojie memulakan kerjaya di CES buat kali pertama, menerajui trend inovasi AR! Teknologi Mojie memulakan kerjaya di CES buat kali pertama, menerajui trend inovasi AR! Jan 14, 2024 pm 09:06 PM

Dari 9 hingga 12 Januari, lebih daripada 4,000 pempamer berkumpul di CES, elektronik pengguna "Spring Festival Gala". Sebagai sebuah syarikat yang inovatif dalam bidang AR pengguna, Mojie Technology mengambil bahagian dalam CES buat kali pertama, menunjukkan sepenuhnya kekuatan kukuh syarikat AR China dalam peranti teras, penyelesaian mesin lengkap dan perkhidmatan tersuai. Di gerai Mojie, cermin mata AR berdasarkan panduan cahaya pembelauan resin binokular + MicroLED dipaparkan, yang membangkitkan minat ramai pengunjung, yang mencubanya dan mengalami fungsinya. Cermin mata AR ini mempunyai banyak ciri praktikal. Pertama, pemakai boleh melihat kandungan teks dalam masa nyata melalui kanta cermin mata, yang menjadikan bacaan lebih mudah. Kedua, cermin mata mempunyai mikrofon terbina dalam yang boleh mengumpul maklumat suara dan menukarnya menjadi teks dalam bahasa tertentu melalui fungsi terjemahan segera.

NTT QONOQ Devices memperkenalkan cermin mata XR wayarles Mirza untuk telefon pintar NTT QONOQ Devices memperkenalkan cermin mata XR wayarles Mirza untuk telefon pintar Sep 09, 2024 pm 06:30 PM

NTT QONOQ Devices telah memperkenalkan cermin mata XR wayarles Mirza untuk telefon pintar, membebaskan pengguna daripada perlu bergelut dengan kord. Cermin mata boleh memaparkan kandungan AR maya dalam ruang dunia nyata seperti Pokemon Go atau kandungan telefon mereka pada paparan maya yang besar

Christie: pemacu dwi teknologi + inovasi membawa kemungkinan tanpa had Christie: pemacu dwi teknologi + inovasi membawa kemungkinan tanpa had Apr 23, 2024 am 08:10 AM

Sebagai sebuah syarikat teknologi yang didorong oleh inovasi, Christie mampu menyediakan penyelesaian komprehensif, pengalaman industri yang kaya dan rangkaian perkhidmatan lengkap dalam teknologi audio-visual pintar. Pada InfoCommChina tahun ini, Christie membawa projektor laser tulen RGB, projektor laser 1DLP, dinding video LED dan penyelesaian pengurusan dan pemprosesan kandungan. Di tapak acara, kubah sfera luar yang dibuat khas berskala besar yang direka khas untuk paparan astronomi menjadi tumpuan tempat kejadian itu Christie menamakannya "Sphere Deep Space", dan projektor laser tulen Christie M4K25RGB memberikannya "kecergasan hijau" . Encik Sheng Xiaoqiang, pengurus perkhidmatan teknikal kanan Jabatan Perniagaan Komersial di China, berkata: Tidak sukar untuk merealisasikan unjuran kubah sfera luar, tetapi ia boleh dibuat lebih kecil dan berwarna

Adakah Apple Vision Pro kuat? Orang media asing teragak-agak selepas dua hari pengalaman mendalam Adakah Apple Vision Pro kuat? Orang media asing teragak-agak selepas dua hari pengalaman mendalam Feb 02, 2024 am 09:21 AM

Ini mungkin produk paling inovatif yang dikeluarkan oleh Apple pada tahun 2023, dan ia juga mungkin permulaan era seterusnya untuk Apple. Apple Vision Pro akan dilancarkan secara rasmi pada 2 Februari, waktu tempatan Apakah pengalaman menggunakan produk ini yang menimbulkan sensasi apabila ia dikeluarkan tahun lalu. Baru-baru ini, editor teknologi asing Lance Ulanoff menerbitkan diari pengalaman yang mendalam, yang mungkin membolehkan kami di seberang lautan memahami produk ini dengan lebih intuitif dan benar. CNMO juga menyusun diari Lance yang berkaitan. Seterusnya, "Saya" dalam artikel itu merujuk kepada Lance sendiri. Artikel telah dipadamkan, tetapi ia tidak akan menjejaskan pembacaan. Apa sahaja yang anda pernah dengar atau baca

Cara menggunakan kaedah split dalam Java String Cara menggunakan kaedah split dalam Java String May 02, 2023 am 09:37 AM

Kaedah split dalam String menggunakan kaedah split() String untuk memisahkan String mengikut aksara atau rentetan yang masuk dan mengembalikan tatasusunan split. 1. Penggunaan umum Apabila menggunakan aksara umum, seperti @ atau, sebagai pemisah: Stringaddress="Shanghai@Shanghai City@Minhang District@Wuzhong Road";String[]splitAddr=address.split("@");System .out. println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3

See all articles