PHPのちょっとした問題集

PHPの問題といいましても、バグではなく、クエスチョンです。

チャレンジしてみたい方は続きからどうぞ。(レベル低いかもです)

function checkExtention( $array ){
$extentions_array = array(
"zip",
"lzh",
"rar",
"jpg",
"gif",
"png"
);
if(!is_array($array)) return false ;
return array_search($array[1], $extentions_array) ;
}

// $extention = array("0"=>"filename","1"=>"zip")とします。
$extention = explode(".","hoge.zip");
if( checkExtention( $extention ) ) :
echo "アップできる拡張子です。" ;
else :
echo "アップできない拡張子です。" ;
endif ;
?>

上の場合、どのようになるか。
また、なぜそうなるのか述べよ。

————————————————————–


上の場合はどのようになるか。
また、なぜそうなるのかを述べよ。

—————————————————————

という問題です。

1問目は自作してみた問題で、2つ目がどっかからのコピペです。

ちょっと面白そうだったので載せてみました。

答えが分かりましたらコメントでものこしてもらえればなぁと思います。

3 件のコメント

  • 1つ目
    アップできる拡張子です。って表示される。
    arrayで記述されてる拡張子はアップ可。で、例えばhoge.zipっていうファイルの場合、zipはarrayで記述されていうので、アップできる拡張子です。と表示される。

    2つ目
    30って表示される。
    aが10でbが20でcがa+bだから30。でechoだから30って表示される。

    どうですかね…?

  • やってみました〜

    ・1つ目
    『アップできない拡張子です。』が表示される。
    理由はcheckExtension()の返り値が0で、falseと見なされるから。

    そもそも、checkExtensionの帰り値が0になる理由は、array_search()は
    検索にヒットした配列のキーを返すから。

    ・2つ目
    7行目でエラーになる。
    何故なら、calc()関数内では、$aという変数は初期化されていない状態だから。
    3行目の記述はスコープが違うから関係ない。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    CAPTCHA