ここから本文です

phpで質問です wordpressを使用し、function.php内で function x($foo){ $bar...

sya********さん

2017/3/2521:58:56

phpで質問です
wordpressを使用し、function.php内で

function x($foo){
$bar = (int)$foo;
}
x((string)'5');

と書いています
この時、$barが(int)1になりました
(string)'5'でも(

string)'2'でも同じで、n何故かintの1になります
何か原因か分かりません・・・お助け下さい

閲覧数:
17
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

shi********さん

2017/3/2700:57:26

ちょっと現象が再現できません。phpのバージョンはいくつでしょうか?また下記のソースでも同様の現象になりますか?

<?php
function x($foo){
$bar = (int)$foo;
var_dump($bar);
}
function y($foo){
return (int)$foo;
}
function z($foo){
return intval($foo);
}

x((string)'5');
printf('%d:%d<br />', y((string)'5'), z((string)'5'));
x('6');
printf('%d:%d<br />', y('6'), z('6'));
x(7);
printf('%d:%d<br />', y(7), z(7));


>この時、$barが(int)1になりました

var_dump($bar);はどこに書いていますか?

質問した人からのコメント

2017/3/27 21:16:32

すいません、私の勘違いでした
片方、配列で記述していました。申し訳ありません

ベストアンサー以外の回答

1〜1件/1件中

nay********さん

2017/3/2621:37:06

xの関数に文字列ではなく、数字を渡したら大丈夫だと思います。
x((string)'5'); → x(5);

phpの仕様知らないですが、文字列にintをキャストすると1になるのでしょう。中身がnullとかだと0が返ってくるかもしれませんね

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる