teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

1

2021/11/08 21:10

投稿

takasima20
takasima20

スコア7468

answer CHANGED
@@ -6,4 +6,32 @@
6
6
  foreach (str_split($str) as $c) $x = $c . $x;
7
7
  echo $x;
8
8
  ?>
9
- ```
9
+ ```
10
+ --- 追記 ---
11
+ > Cの方のソースも同じようなろロジックなのでしょうか?
12
+
13
+ あれに寄せて書くとこんな感じでしょか。
14
+ ```php
15
+ <?php
16
+ $str = 'abcdefg';
17
+ $x = '';
18
+ $j=0;
19
+ for ($i=strlen($str)-1;$i>-1;$i--) {
20
+ $x[$j] = $str[$i];
21
+ $j++;
22
+ }
23
+ echo $x;
24
+ ?>
25
+ ```
26
+ 考え方は同じになるんスかね。
27
+
28
+ > ちなみに、ループの試行回数を半分とかそれ未満にするようなロジックはありますか?
29
+ > (たとえば何百万文字とかの場合、メモリオーバーとかタイムアウトすると思うのですが、それを回避するような)
30
+
31
+ そういう目的だったらオンメモリだと難しいと思うので
32
+ ファイルを介して処理するのが現実的でしょか。
33
+ で、使うなら(PHPなどより) C言語とかの方がいいでしょうねえ。
34
+ (向き/不向きのハナシです)
35
+
36
+ ちなみに tac コマンドがそういう働きをします。
37
+ ただし、そういう(チョーBIGな)ファイルが処理できるかどうかは分かりません。(汗