Re: [請益] 這種列表要怎麼印出來?

看板PHP作者 (阿雁 < 小弟 ~*)時間17年前 (2009/01/28 22:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
把自己的問題解決掉了… PO上我的作法,請各位大大指正有哪裡還能在做改進, 也讓未來和我有一樣狀況的鄉民有文可以爬XD function NewStr($OrgStr,$i) { return substr($OrgStr , 0 , $i) . '.' . substr($OrgStr , $i); } $getemail = $_POST['getemail']; $max = pow(2,strlen($getemail)-1); //算出有幾種可能 for($i=1;$i < $max;$i++) //strlen($getemail)為取得字串長度 { $undone = 1; for($j=1;$j < strlen($getemail);$j++) { $token = $i & ( 1 << ($j-1) ); //判斷二進位值的第 $j-1 位是不是 1 if($undone == 1) { if($token) //若是1則加上"." { $theStr = NewStr($getemail,strlen($getemail)-$j); $undone = 0; //$done為0代表已經作過處理 } } else { if($token) { $theStr = NewStr($theStr,strlen($getemail)-$j); $undone = 0; } } } echo $theStr . '<br />'; } ※ 引述《kusoayan (阿雁 < 小弟 ~*)》之銘言: : 不好意思 : 請教各位大大一個問題 : 如果我有一個字串 : a12sfs546 (即亂數a-z + 0-9 組合) : 要怎麼讓他印出 : a.1 2 s f s 5 4 6 s : a 1.2 s f s 5 4 6 s : a 1 2.s f s 5 4 6 s : a 1 2 s.f s 5 4 6 s : ............. : 這種列表呢 ? : 照上面有10位 : 應該會有2^9 = 512 種 : (就是a~1之間有點或沒點 1~2之間有點或沒點...等的組合共512種) : 我想了很久沒什麼頭緒 : 是要把字串分割後處理嗎 ? -- 本人沒有簽名檔,沒有簽名檔自己做,自己做又沒梗,沒梗只好持續沒有簽名檔 你要我簽名我就簽成何體統,我要叫你大人你還要反駁我大什麼大、人什麼人 偏偏我就是喜歡跟著鄉民往前站了一步,你偏偏叫我不要跳進去又跳出來 咬你喔 大人 --- --- --- I Dance Therefore I am . Enjoy POPPIN ! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.82.96 ※ 編輯: kusoayan 來自: 123.110.82.96 (01/28 22:33) ※ 編輯: kusoayan 來自: 123.110.82.96 (01/28 22:38) ※ 編輯: kusoayan 來自: 123.110.82.96 (01/28 22:44)
文章代碼(AID): #19W6h5r8 (PHP)
討論串 (同標題文章)
文章代碼(AID): #19W6h5r8 (PHP)