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

質問編集履歴

3

内容の修正

2021/08/27 05:12

投稿

Cake
Cake

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,15 @@
1
1
  pear fileライブラリをphp7.2へ対応中なのですが、`function next()` 内の`do-while`がphp5.4ではループしているのに、php7.2では一度しか動作せずに悩んでいます。
2
2
 
3
- `do{...} while (!$error);`は全ての処理後`false`になって終了なので問題ないのですが、
3
+ ~~`do{...} while (!$error);`は全ての処理後`false`になって終了なので問題ないのですが、~~
4
+ 2週目の`do{...} while (!$error);`内のどこかで、php7.2場合の処理の仕方が違うようなので検証いたします。
5
+
4
6
  `do{...} while (($goodFile && $this->push()) || !$goodFile);`がphp5.4では`true(ファイル名)`>`true(ディレクトリ名)`>`do{...} while (!$error);`の`false`と正常に動作するのに対し、
5
7
  php7.2では`true(ファイル名)`>`do{...} while (!$error);`の`false`とディレクトリ名の処理が抜け落ちてしまいます。
6
8
 
7
9
  調べた限りでは見当たらないのですが、php7.2でwhileの動作や条件式が変わったのでしょうか。
8
10
  ご存知の方がおられましたら、ご回答よろしくお願いいたします。
9
11
 
12
+
10
13
  ```php
11
14
  function push()
12
15
  {

2

phpバージョン追記

2021/08/27 05:12

投稿

Cake
Cake

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,10 @@
1
- pear fileライブラリをphp7.2へ対応中なのですが、`function next()` 内の`do-while`がphp5.4ではループしているのに、php7.2では一度しか動作せずに悩んでいます。
1
+ pear fileライブラリをphp7.2へ対応中なのですが、`function next()` 内の`do-while`がphp5.4ではループしているのに、php7.2では一度しか動作せずに悩んでいます。
2
2
 
3
3
  `do{...} while (!$error);`は全ての処理後`false`になって終了なので問題ないのですが、
4
4
  `do{...} while (($goodFile && $this->push()) || !$goodFile);`がphp5.4では`true(ファイル名)`>`true(ディレクトリ名)`>`do{...} while (!$error);`の`false`と正常に動作するのに対し、
5
5
  php7.2では`true(ファイル名)`>`do{...} while (!$error);`の`false`とディレクトリ名の処理が抜け落ちてしまいます。
6
6
 
7
- 調べた限りでは見当たらないのですが、php7でwhileの動作や条件式が変わったのでしょうか。
7
+ 調べた限りでは見当たらないのですが、php7.2でwhileの動作や条件式が変わったのでしょうか。
8
8
  ご存知の方がおられましたら、ご回答よろしくお願いいたします。
9
9
 
10
10
  ```php

1

phpバージョン追記

2021/08/27 04:28

投稿

Cake
Cake

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,8 @@
1
- pear fileライブラリをphp7へ対応中なのですが、`function next()` 内の`do-while`がphp5系ではループしているのに、php7では一度しか動作せずに悩んでいます。
1
+ pear fileライブラリをphp7.2へ対応中なのですが、`function next()` 内の`do-while`がphp5.4系ではループしているのに、php7.2では一度しか動作せずに悩んでいます。
2
2
 
3
3
  `do{...} while (!$error);`は全ての処理後`false`になって終了なので問題ないのですが、
4
- `do{...} while (($goodFile && $this->push()) || !$goodFile);`がphp5では`true(ファイル名)`>`true(ディレクトリ名)`>`do{...} while (!$error);`の`false`と正常に動作するのに対し、
4
+ `do{...} while (($goodFile && $this->push()) || !$goodFile);`がphp5.4では`true(ファイル名)`>`true(ディレクトリ名)`>`do{...} while (!$error);`の`false`と正常に動作するのに対し、
5
- php7では`true(ファイル名)`>`do{...} while (!$error);`の`false`とディレクトリ名の処理が抜け落ちてしまいます。
5
+ php7.2では`true(ファイル名)`>`do{...} while (!$error);`の`false`とディレクトリ名の処理が抜け落ちてしまいます。
6
6
 
7
7
  調べた限りでは見当たらないのですが、php7でwhileの動作や条件式が変わったのでしょうか。
8
8
  ご存知の方がおられましたら、ご回答よろしくお願いいたします。