• 締切済み

数字の分割方法について

お世話になります。 変数$numに1~16までの数字をランダムに区切らずに代入した時、 この変数$numの値を1つずつ取り出す関数、もしくは処理方法はございますでしょうか?? ■例■ $num = 12378910; $Num = ホニャララ関数($num); echo $Num[6] "10" もしお分かりになる方がおられましたら、 ご教授をお願い申し上げます。

みんなの回答

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.3

#2さんの指摘通りなのですが、11以上の数字の扱いが問題になります。 11~16が 二桁の数字なのか 一桁の数字2個 なのか区別が付きません。

  • buraru
  • ベストアンサー率54% (12/22)
回答No.2

例を読む限りでは、12378910を分割して $Num[1] = 12 $Num[2] = 3 $Num[3] = 7 $Num[4] = 8 $Num[5] = 9 $Num[6] = 10 として取得したいという事だと思うのですが、 1~16の範囲で分割という条件のみで、12378910を分割すると $Num[1] = 1 $Num[2] = 2 $Num[3] = 3 $Num[4] = 7 $Num[5] = 8 $Num[6] = 9 $Num[7] = 10 という解もあり得る気がします。 その辺どうしたいのでしょうか? 深く考えてませんが、 ・1が2回続くケース ・1のあとに2が続くケース という場合に1や2として取り出したい場面は存在し得ないという事であれば処理できる可能性はありますが・・・。 素直に$numに代入する値を区切るか、1は01、2は02というように一桁の数字には0を頭につけてあげるなどとやったほうが簡単な気がします。

  • sunekko
  • ベストアンサー率0% (0/0)
回答No.1

う~ん、無理じゃないでしょうか。 例えば"1112"を処理する際、 $Num = array(11,12); $Num = array(1,11,2); $Num = array(11,1,2); 上記のいずれなのかを区別する術がないように思います。 私なら素直に配列を使うか、どうしても 文字列にしたかったら区切りを入れてexplodeしますね…。 もし数学クイズだったら的外れな答えですけど(ごめんなさい)。

関連するQ&A

専門家に質問してみよう