ホームページ > バックエンド開発 > PHPチュートリアル > PHP文字列フルアレンジメント

PHP文字列フルアレンジメント

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-29 09:02:49
オリジナル
1798 人が閲覧しました

方法 1:

<code><span>$str</span> = <span>'abc'</span>;
<span>$a</span> =str_split(<span>$str</span>);
perm(<span>$a</span>, <span>0</span>, count(<span>$a</span>)-<span>1</span>);

<span><span>function</span><span>perm</span><span>(&<span>$ar</span>, <span>$k</span>, <span>$m</span>)</span> {</span><span>if</span>(<span>$k</span> == <span>$m</span>){ 
        <span>echo</span> join(<span>''</span>,<span>$ar</span>), PHP_EOL;
    }<span>else</span> {
        <span>for</span>(<span>$i</span>=<span>$k</span>; <span>$i</span><=<span>$m</span>; <span>$i</span>++) {
            swap(<span>$ar</span>[<span>$k</span>], <span>$ar</span>[<span>$i</span>]);
            perm(<span>$ar</span>, <span>$k</span>+<span>1</span>, <span>$m</span>);
            swap(<span>$ar</span>[<span>$k</span>], <span>$ar</span>[<span>$i</span>]);
        }
    }
}
<span><span>function</span><span>swap</span><span>(&<span>$a</span>, &<span>$b</span>)</span> {</span><span>$c</span> = <span>$a</span>;
    <span>$a</span> = <span>$b</span>;
    <span>$b</span> = <span>$c</span>;
}</code>
ログイン後にコピー

方法 2:

<code><span><span>function</span><span>output</span><span>(<span>$temp</span>,<span>$level</span>)</span> {</span><span>for</span>(<span>$i</span>=<span>0</span>;<span>$i</span><<span>$level</span>;<span>$i</span>++) {
        <span>echo</span><span>$temp</span>[<span>$i</span>];
    }
    <span>echo</span> PHP_EOL;
}
<span>//产生全排列 递归参数传递一定要注意 </span><span><span>function</span><span>quanpai</span><span>(<span>$arr</span>,<span>$flag</span>,<span>$level</span>,<span>$num</span>,<span>$temp</span>)</span> {</span><span>if</span>(<span>$level</span>>=<span>$num</span>) {
        output(<span>$temp</span>,<span>$num</span>);
        <span>return</span>;
    }
    <span>for</span>(<span>$i</span>=<span>0</span>;<span>$i</span><<span>$num</span>;<span>$i</span>++) {
        <span>if</span>(<span>$flag</span>[<span>$i</span>]==<span>0</span>) {
            <span>$temp</span>[<span>$level</span>]=<span>$arr</span>[<span>$i</span>];
            <span>$flag</span>[<span>$i</span>]=<span>1</span>;
            quanpai(<span>$arr</span>,<span>$flag</span>,<span>$level</span>+<span>1</span>,<span>$num</span>,<span>$temp</span>);
            <span>$flag</span>[<span>$i</span>]=<span>0</span>;
        }
    }
}
<span>$str</span> = <span>'abc'</span>;
<span>$arr</span>=str_split(<span>$str</span>);
<span>$len</span>=count(<span>$arr</span>);
<span>$i</span>=<span>0</span>;
<span>$flag</span>=<span>array</span>();
<span>$temp</span>=<span>array</span>();
<span>while</span>(<span>$i</span><<span>$len</span>){
    <span>$flag</span>[<span>$i</span>]=<span>0</span>;
    <span>$i</span>++;
}
quanpai(<span>$arr</span>,<span>$flag</span>,<span>0</span>,<span>$len</span>,<span>$temp</span>);</code>
ログイン後にコピー
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

上記は、内容の側面も含めて PHP 文字列の完全な配置を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート