のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,063,092人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレくだすれPHP(超初心者用)4

    php覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    51 = :

    >>26
    「item.php」のこの部分みたい

    if ( ++ $_SESSION['checked_item_num'] > 4 ) $_SESSION['checked_item_num'] = 1;
    if ( ! in_array( $_GET['item_id'], (array)$_SESSION['checked_item'] ) )
           $_SESSION['checked_item'][$_SESSION['checked_item_num']] = $_GET['item_id'];


    ところで二行目の (array) ってなんの意味があるの?
    だれか教えて下さい。

    52 = :

    >>51
    マニュアル

    53 = :

    よくわからない・・・

    こういう使い方なら理解できるんだけど
    function foo($value)
    {
    $array = (array) $value;
    print_r($array);
    }

    なんでif()の条件に
    if ( ! in_array( $_GET['item_id'], (array)$_SESSION['checked_item'] ) )
    こういう使い方をするんだろ。

    54 = :

    >>53
    http://php.net/in_array

    55 = :

    >>53
    $_SESSION['checked_item']が配列じゃなかったときにエラーはかれるのを回避したかったんじゃないの?
    (array)で型キャストすれば単一文字列が入ってても、配列に変換されるし。

    56 = :

    $_SESSIONはそれ自体で配列じゃないの?
    要素が一つでも配列は配列だし。
    うーん。
    眠いから明日また考えてみる。
    ありがとう。

    57 = :

    >>56
    $_SESSIONは配列かもしれないけど、
    $_SESSION['checked_item']は、配列じゃないかもしれないだろ?

    60 = :

    >>59 >>55で「キャストしてる」って教えてくれてるのに、それは無視なの?

    61 = :

    これはひどい自演

    62 = :

    in_arrayを使ってる時点では$_SESSION['checked_item']が配列若しくはnullの可能性があって
    item_idがその中に無ければ配列として追加してってる感じ?
    その配列キーは$_SESSION['checked_item_num']で最大4まで
    それ以上の場合は1に戻す

    63 = :

    >>57
    やっと理解できました。
    array型へのキャストは、スカラならその値をひとつの要素とした配列に
    配列ならそのままの状態、というふうに切り替わるんですね。
    そこを知らなかったから余計に混乱してました。
    ありがとうございます。

    64 = :

    だから何でマニュアルすら読まないのか

    65 = :

    >>64
    型キャストって言葉が出てこなかったら、(array)で何が起こってるかっていうのは、
    検索しづらいんじゃない?

    きっかけとかとっかかり掴みづらい内容ではあったと思う。
    超初心者スレだし、多めに見てやりなよ。

    66 = :

    算数解らないのに数学やろうとしても解るわけ内じゃん

    67 = :

    キャスト自体は知ってたんだろよく読め
    あとマニュアルが一番基礎の教科書

    68 = :

    知ってることと理解してることは別

    69 = :

    なら尚更マニュアル読むかググれって感じ

    71 = :

    正規表現スレでどうぞ

    72 = :

    >>71
    失礼しました

    76 = :

    書いてあるURLは403で落とせないんだが・・・
    それよりおまえ、>5>26だろ?
    SQLを基礎から勉強してこいって。

    78 = :

    では身に付いたら知らせて下さい

    80 = :

    SQLの勉強はいつするんですか?

    85 = :

    じゃエラー表示するようにして見れ

    87 = :

    これはもうだめかもわからんね

    88 = :

    こんな奴が中途で入社してきたら最低だろうな…

    89 = :

    SQLの文字コードって全部合わせておけばいいのかな……?
    テーブル、カラム、データベース全体……個別個別で細かく設定できすぎてよくわからない。

    90 = :

    PHPでスタックとキューを表現するコードを書きたいのですが、
    どこか参考になるサイトありますか?

    /* PUSH */

    $arr = array();
    $num = 5; //意味ないかもしれませんが・・・
    for($i = 0;$i < $num;$i++)
    {
    $arr[] = $i; //array_push($arr,$i); とやろうとしたけど、これは無理でしょうか。
    }

    $ct = count($arr);
    echo "要素数:$ct\n");





    てな感じで書いてるんです。
    本当はarray_pushやarray_pop、unshiftやらを使いたいのですが、
    これら全てが上手く動いてくれません。助言お願いします。

    91 = :

    上手く動いてくれないって?

    92 = :

    >>91
    for文の中身は確か、
    $arr[] = $i + 1;
    の間違いでした、スイマセン。

    echoで$arrの中身を順番に表示させると、
    1
    2
    3
    4
    5
    という風になるんですが、array_pushで>>90のコメントで書いている通りのコードで
    実行させると、配列から何も取り出せてなかったんです。

    93 = :

    コード見せてみ?

    94 = :

    見せることが出来ません・・・持って帰ってこれない決まりになっているので。

    実は入社してから、初めてPHPを触りまして、まだ2日目です。

    95 = :

    いや問題が再現する部分だけでいいからw

    96 = :

    >>90 array_push array_pop

    97 = :

    >>95
    pushの部分では、>>90の通りです。
    後は、echoで&arrの中身5つを順に表示させて終わりです。

    $arr[] = $i + 1;
    の下に、
    echo = "$arr[i]\n";

    これだけです。
    ちなみにstackクラスの中でpushとpopの関数を作っています。

    98 = :

    $arr[$i]ぢゃないでしょうか

    99 = :

    >>98
    ああ・・そうです、すいません
    まだ$つけるの慣れてないものでつけ忘れました・・・
    実際のコードではつけてますので。

    100 = :

    なんかよく分からんけどとりあえずはい
    $arr = array();
    for($i=0; $i<5; $i++) {
    array_push($arr,$i);
    echo "$arr[$i] ";
    }
    結果
    0 1 2 3 4


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について