SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【php】php4からphp5に移行するときあったことの例

問題

php4のプログラムをphp5に移植する作業があるのですが、何か問題など想定されますか。

php-logo

答え

よく言われる、オブジェクトの参照渡し、値渡しや、$thisの扱い、予約語、文法の違いなど、明らかに動かなくなる場合は、とてもわかりやすいのですが、array_merge()の仕様が変わっているのにはなかなか気づきませんでした。

php4だと

引数に配列以外を渡すと、よい具合に調整して配列をマージしてくれる。

php5だと

array_merge()に配列以外を渡すとNULLを返す。

<?php
$x = array_merge($何か配列, 戻り値が配列とも限らない関数());
// → php5だと$xはNULL、php4だと$xは配列のまま
//この後 $xを使った処理に影響が...

一応WARNINGが出ますが。

ということがありました。

関連するメモ

コメント