元スレくだすれPHP(超初心者用)4
php覧 / PC版 /みんなの評価 : ○
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 = :
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
みんなの評価 : ○
類似してるかもしれないスレッド
- くだすれPHP(超初心者用)6 (958) - [97%] - 2009/8/19 4:11 ○
- くだすれPHP(超初心者用)5 (1001) - [97%] - 2009/3/9 16:02 ○
- くだすれPHP(超初心者用)3 (1001) - [97%] - 2008/6/8 6:35 ☆
- さっさとPHP5.0.6出せよ糞Zend (80) - [31%] - 2019/5/9 7:45
トップメニューへ / →のくす牧場書庫について