bool array_key_exists ( mixed key, array search )
指定した key が配列に設定されている場合、 array_key_exists() は TRUE を返します。 key は配列添字として使用できる全ての値を使用可能です。 array_key_exists() はオブジェクトに対しても動作します。
例 1. array_key_exists() の例
<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is in the array";
}
?> |
- tag
- php
フィールドに、'1,2,3'なんて文字列が格納されている場合、
'1'とか'2'とかの単体の検索を複数一気にかけたい場合、
select * from テーブル名 where INSTR(フィールド名,'1') and INSTR(フィールド名,'2');
これで。
- tag
- MySQL
- クエリ
条件文 ? 条件文がtrueの時の処理 : 条件文がfalseの時の処理 ;
例えば、
$_SESSION["hoge"] = $hoge != "" ? $hoge : "";
は、
if ($hoge != ""){
$_SESSION["hoge"] = $hoge;
} else {
$_SESSION["hoge"] = "";
}
と同じ処理になるので、場合によっては処理をすっきり書くことができる。
- tag
- php
MySQL文で、LEFT JOINを使用すると、指定したフィールドを条件にテーブルを結合してくれるが、その際にWHERE文で動きが特殊なので記載しときます。
例えば、こんな文。
SELECT * FROM?tb1 LEFT JOIN?tb2?ON?tb1.id = tb2.id WHERE tb2.name = NULL;
この場合、結合したテーブル tb2 のnameフィールドがNULLの場合、情報を呼び出す感じになっているが、実際データとして、NULLが入っていないと、抽出されるデータは存在しない状態になってしまう。
それでは困るのでなんとかならないか検索したところ、グッドな関数を発見。
IFNULL ってやつです。
これを使うとこんな感じ。
SELECT * FROM?tb1 LEFT JOIN tb2 ON?tb1.id = tb2.id WHERE IFNULL(tb2.name,0) = '0';
要は、NULLの場合、第二引数に指定している0に置き換えてやり、その置き換えたものをWHERE文で判断している形になります。
- tag
- MySQL
- クエリ
INを用いる事で、SQL文がひとまとまりにできます。
例えば、
UPDATE テーブル名 SET del_flag = '1' WHERE id = '1';
UPDATE テーブル名 SET del_flag = '1' WHERE id = '2';
UPDATE テーブル名 SET del_flag = '1' WHERE id = '3';
と三つの文を書かなければならないところを、
UPDATE テーブル名 SET del_flag = '1' WHERE id IN ('1','2','3');
とする事で、ひとまとまりの文にできます
- tag
- MySQL
- クエリ