Re: [請益] 這種列表要怎麼印出來?
把自己的問題解決掉了…
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)
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
0
18