{"id":3408,"date":"2025-03-24T08:46:16","date_gmt":"2025-03-23T23:46:16","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=3408"},"modified":"2025-03-24T08:46:47","modified_gmt":"2025-03-23T23:46:47","slug":"php%e3%81%aein_array%e9%96%a2%e6%95%b0%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%ef%bc%9a%e4%bd%bf%e3%81%84%e6%96%b9%e3%81%8b%e3%82%89%e6%9c%80%e9%81%a9%e5%8c%96%e3%81%be%e3%81%a7%e8%a7%a3%e8%aa%ac","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=3408","title":{"rendered":"PHP\u306ein_array\u95a2\u6570\u5b8c\u5168\u30ac\u30a4\u30c9\uff1a\u4f7f\u3044\u65b9\u304b\u3089\u6700\u9069\u5316\u307e\u3067\u89e3\u8aac\u3059\u308b7\u3064\u306e\u30dd\u30a4\u30f3\u30c8"},"content":{"rendered":"\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>116<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>121<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>128<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\" data-dialog-title=\"\u76ee\u6b21\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">  <li class=\"first\">    <a href=\"#i-0\">in_array\u95a2\u6570\u306e\u57fa\u790e\u77e5\u8b58<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-1\">\u914d\u5217\u8981\u7d20\u306e\u691c\u7d22\u306b\u7279\u5316\u3057\u305fPHP\u306e\u30d3\u30eb\u30c8\u30a4\u30f3\u95a2\u6570<\/a>      <\/li>      <li>        <a href=\"#i-2\">\u57fa\u672c\u7684\u306a\u69cb\u6587\u3068\u5f15\u6570\u306e\u8a73\u3057\u3044\u8aac\u660e<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-3\">\u623b\u308a\u5024\u306e\u578b\u3068\u610f\u5473\u3092\u7406\u89e3\u3059\u308b<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-4\">in_array\u95a2\u6570\u306e\u5b9f\u8df5\u7684\u306a\u4f7f\u3044\u65b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-5\">\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u691c\u7d22\u306b\u304a\u3051\u308b\u53b3\u5bc6\u306a\u6bd4\u8f03\u306e\u91cd\u8981\u6027<\/a>      <\/li>      <li>        <a href=\"#i-6\">\u591a\u6b21\u5143\u914d\u5217\u3067\u306e\u8981\u7d20\u691c\u7d22\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-10\">\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u691c\u7d22\u306e\u5b9f\u88c5\u65b9\u6cd5<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-14\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-15\">\u5927\u898f\u6a21\u914d\u5217\u3067\u306e\u691c\u7d22\u6642\u306e\u51e6\u7406\u901f\u5ea6\u306b\u3064\u3044\u3066<\/a>      <\/li>      <li>        <a href=\"#i-16\">\u578b\u6bd4\u8f03\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u4e0e\u3048\u308b\u5f71\u97ff<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-17\">\u914d\u5217\u306e\u30cf\u30c3\u30b7\u30e5\u5316\u306b\u3088\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-21\">\u3088\u304f\u3042\u308b\u30d0\u30b0\u3068\u5bfe\u51e6\u6cd5<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-22\">\u578b\u306e\u4e0d\u4e00\u81f4\u306b\u3088\u308b\u4e88\u305b\u306c\u52d5\u4f5c\u3068\u305d\u306e\u56de\u907f\u7b56<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-28\">\u5927\u898f\u6a21\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3067\u306e\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u6700\u9069\u5316<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-30\">\u5b9f\u7528\u7684\u306a\u4ee3\u66ff\u624b\u6bb5\u306e\u6bd4\u8f03<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-31\">array_search\u3068\u306e\u9055\u3044\u3068\u4f7f\u3044\u5206\u3051\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>      <li>        <a href=\"#i-36\">isset()\u3092\u4f7f\u7528\u3057\u305f\u9ad8\u901f\u306a\u5b58\u5728\u78ba\u8a8d\u306e\u65b9\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-42\">\u30ab\u30b9\u30bf\u30e0\u691c\u7d22\u95a2\u6570\u306e\u5b9f\u88c5\u3068\u6d3b\u7528\u30b7\u30fc\u30f3<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-50\">\u73fe\u5834\u3067\u6d3b\u304d\u308b\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u96c6<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-51\">\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u5024\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u5b9f\u88c5\u4f8b<\/a>      <\/li>      <li>        <a href=\"#i-56\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u7d50\u679c\u306e\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u624b\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-61\">\u6a29\u9650\u30c1\u30a7\u30c3\u30af\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u6d3b\u7528\u65b9\u6cd5<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-65\">in_array\u95a2\u6570\u306e\u30c6\u30b9\u30c8\u624b\u6cd5<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-66\">\u5358\u4f53\u30c6\u30b9\u30c8\u3067\u306e\u52b9\u679c\u7684\u306a\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u8a2d\u8a08<\/a>      <\/li>      <li>        <a href=\"#i-70\">\u30a8\u30c3\u30b8\u30b1\u30fc\u30b9\u3092\u8003\u616e\u3057\u305f\u30c6\u30b9\u30c8\u306e\u66f8\u304d\u65b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-73\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8\u306e\u5b9f\u88c5\u65b9\u6cd5<\/a>      <\/li>    <\/ul>  <\/li><\/ul>\n      <a href=\"#\" class=\"sgb-toc-button js-toc-button\" rel=\"nofollow\" data-open-dialog=\"true\"><i class=\"fa fa-list\"><\/i><span class=\"sgb-toc-button__text\">\u76ee\u6b21\u3078<\/span><\/a>\n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">in_array\u95a2\u6570\u306e\u57fa\u790e\u77e5\u8b58<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-1\">\u914d\u5217\u8981\u7d20\u306e\u691c\u7d22\u306b\u7279\u5316\u3057\u305fPHP\u306e\u30d3\u30eb\u30c8\u30a4\u30f3\u95a2\u6570<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u306b\u304a\u3044\u3066\u3001\u914d\u5217\u64cd\u4f5c\u306f\u65e5\u5e38\u7684\u306b\u884c\u308f\u308c\u308b\u91cd\u8981\u306a\u51e6\u7406\u306e\u4e00\u3064\u3067\u3059\u3002\u7279\u306b\u300c\u7279\u5b9a\u306e\u5024\u304c\u914d\u5217\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u300d\u3092\u78ba\u8a8d\u3059\u308b\u5fc5\u8981\u6027\u306f\u975e\u5e38\u306b\u983b\u7e41\u306b\u767a\u751f\u3057\u307e\u3059\u3002\u305d\u3053\u3067\u6d3b\u8e8d\u3059\u308b\u306e\u304c<code>in_array()<\/code>\u95a2\u6570\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306f\u3001PHP\u8a00\u8a9e\u306b\u6a19\u6e96\u3067\u7d44\u307f\u8fbc\u307e\u308c\u305f\u30d3\u30eb\u30c8\u30a4\u30f3\u95a2\u6570\u3067\u3001\u914d\u5217\u5185\u306b\u7279\u5b9a\u306e\u5024\u304c\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u7c21\u5358\u304b\u3064\u52b9\u7387\u7684\u306b\u5224\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u95a2\u6570\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b7\u30fc\u30f3\u3067\u7279\u306b\u91cd\u5b9d\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u5024\u304c\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u306e\u78ba\u8a8d<\/li>\n\n\n\n<li>\u9078\u629e\u3055\u308c\u305f\u9805\u76ee\u304c\u6709\u52b9\u306a\u9078\u629e\u80a2\u306e\u4e2d\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u306e\u691c\u8a3c<\/li>\n\n\n\n<li>\u6761\u4ef6\u5206\u5c90\u3067\u306e\u5b58\u5728\u30c1\u30a7\u30c3\u30af\uff08\u4f8b\uff1a\u7279\u5b9a\u306e\u72b6\u614b\u304c\u542b\u307e\u308c\u308b\u5834\u5408\u306e\u51e6\u7406\uff09<\/li>\n\n\n\n<li>\u30c7\u30fc\u30bf\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3084\u691c\u7d22\u6a5f\u80fd\u306e\u5b9f\u88c5<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u306e\u57fa\u672c\u7684\u306a\u914d\u5217\u64cd\u4f5c\u95a2\u6570\u7fa4\u306e\u4e2d\u3067\u3082\u3001<code>in_array()<\/code>\u306f\u6700\u3082\u983b\u7e41\u306b\u4f7f\u7528\u3055\u308c\u308b\u95a2\u6570\u306e\u4e00\u3064\u3067\u3042\u308a\u3001\u914d\u5217\u8981\u7d20\u306e\u691c\u7d22\u306b\u7279\u5316\u3057\u305f\u8a2d\u8a08\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">\u57fa\u672c\u7684\u306a\u69cb\u6587\u3068\u5f15\u6570\u306e\u8a73\u3057\u3044\u8aac\u660e<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306e\u57fa\u672c\u7684\u306a\u69cb\u6587\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">bool in_array(mixed $needle, array $haystack, bool $strict = false)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5404\u5f15\u6570\u306e\u8a73\u7d30\u306f\u6b21\u306e\u901a\u308a\u3067\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>$needle (\u5fc5\u9808)<\/strong> \u2013 \u691c\u7d22\u3059\u308b\u5024\uff08\u91dd\uff09\n<ul class=\"wp-block-list\">\n<li>\u578b\uff1amixed\uff08\u4efb\u610f\u306e\u578b\uff09<\/li>\n\n\n\n<li>\u914d\u5217\u5185\u3067\u63a2\u3057\u305f\u3044\u5024\u3092\u6307\u5b9a\u3057\u307e\u3059<\/li>\n\n\n\n<li>\u6587\u5b57\u5217\u3001\u6574\u6570\u3001\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306a\u3069\u69d8\u3005\u306a\u578b\u306e\u5024\u3092\u6307\u5b9a\u53ef\u80fd<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>$haystack (\u5fc5\u9808)<\/strong> \u2013 \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\uff08\u5e72\u3057\u8349\u306e\u5c71\uff09\n<ul class=\"wp-block-list\">\n<li>\u578b\uff1aarray<\/li>\n\n\n\n<li>\u5024\u3092\u63a2\u3059\u5bfe\u8c61\u3068\u306a\u308b\u914d\u5217<\/li>\n\n\n\n<li>\u4e00\u6b21\u5143\u914d\u5217\u3060\u3051\u3067\u306a\u304f\u591a\u6b21\u5143\u914d\u5217\u3082\u6307\u5b9a\u53ef\u80fd\uff08\u3053\u306e\u5834\u5408\u306f\u6700\u4e0a\u4f4d\u30ec\u30d9\u30eb\u3067\u306e\u307f\u691c\u7d22\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>$strict (\u30aa\u30d7\u30b7\u30e7\u30f3)<\/strong> \u2013 \u53b3\u683c\u306a\u578b\u6bd4\u8f03\u3092\u884c\u3046\u304b\u3069\u3046\u304b\u306e\u30d5\u30e9\u30b0\n<ul class=\"wp-block-list\">\n<li>\u578b\uff1abool<\/li>\n\n\n\n<li>\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\uff1afalse<\/li>\n\n\n\n<li>true\uff1a\u578b\u3068\u5024\u306e\u4e21\u65b9\u304c\u4e00\u81f4\u3059\u308b\u5834\u5408\u306e\u307ftrue\u3092\u8fd4\u3059\uff08<code>===<\/code>\u6f14\u7b97\u5b50\u3068\u540c\u7b49\uff09<\/li>\n\n\n\n<li>false\uff1a\u578b\u5909\u63db\u5f8c\u306b\u5024\u304c\u4e00\u81f4\u3059\u308b\u5834\u5408\u3082true\u3092\u8fd4\u3059\uff08<code>==<\/code>\u6f14\u7b97\u5b50\u3068\u540c\u7b49\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u679c\u7269\u306e\u914d\u5217\n$fruits = ['apple', 'banana', 'orange'];\n\n\/\/ 'banana'\u304c\u914d\u5217\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\nif (in_array('banana', $fruits)) {\n    echo \"\u30d0\u30ca\u30ca\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\uff01\"; \/\/ \u3053\u306e\u884c\u304c\u5b9f\u884c\u3055\u308c\u308b\n}\n\n\/\/ 'grape'\u304c\u914d\u5217\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\nif (in_array('grape', $fruits)) {\n    echo \"\u3076\u3069\u3046\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\uff01\"; \/\/ \u3053\u306e\u884c\u306f\u5b9f\u884c\u3055\u308c\u306a\u3044\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u95a2\u6570\u306e\u7279\u7b46\u3059\u3079\u304d\u70b9\u306f\u3001\u7b2c3\u5f15\u6570\u306e<code>$strict<\/code>\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u578b\u306e\u53b3\u683c\u306a\u6bd4\u8f03\u3092\u5236\u5fa1\u3067\u304d\u307e\u3059\u3002\u5b9f\u52d9\u3067\u306f\u3001\u4e88\u671f\u305b\u306c\u30d0\u30b0\u3092\u9632\u3050\u305f\u3081\u306b<code>$strict = true<\/code>\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">\u623b\u308a\u5024\u306e\u578b\u3068\u610f\u5473\u3092\u7406\u89e3\u3059\u308b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306f\u3001<strong>boolean\u578b<\/strong>\uff08\u771f\u507d\u5024\uff09\u3092\u8fd4\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>true<\/strong> \u2013 \u6307\u5b9a\u3057\u305f\u5024\uff08$needle\uff09\u304c\u914d\u5217\uff08$haystack\uff09\u5185\u306b\u5b58\u5728\u3059\u308b\u5834\u5408<\/li>\n\n\n\n<li><strong>false<\/strong> \u2013 \u6307\u5b9a\u3057\u305f\u5024\u304c\u914d\u5217\u5185\u306b\u5b58\u5728\u3057\u306a\u3044\u5834\u5408<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5358\u7d14\u306a\u623b\u308a\u5024\u306f\u3001\u6761\u4ef6\u5206\u5c90\u3067\u76f4\u63a5\u5229\u7528\u3067\u304d\u308b\u305f\u3081\u3001PHP\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u3068\u7c21\u6f54\u3055\u3092\u9ad8\u3081\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$allowedRoles = ['admin', 'editor', 'author'];\n$userRole = 'editor';\n\n\/\/ \u76f4\u63a5if\u6587\u306e\u6761\u4ef6\u3068\u3057\u3066\u4f7f\u7528\u53ef\u80fd\nif (in_array($userRole, $allowedRoles)) {\n    \/\/ \u30e6\u30fc\u30b6\u30fc\u306f\u8a31\u53ef\u3055\u308c\u305f\u5f79\u5272\u3092\u6301\u3063\u3066\u3044\u308b\n    echo \"\u30a2\u30af\u30bb\u30b9\u304c\u8a31\u53ef\u3055\u308c\u307e\u3057\u305f\";\n} else {\n    \/\/ \u30e6\u30fc\u30b6\u30fc\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u306a\u3044\u5f79\u5272\u3092\u6301\u3063\u3066\u3044\u308b\n    echo \"\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u306e\u623b\u308a\u5024\u306b\u95a2\u3057\u3066\u6ce8\u610f\u3059\u3079\u304d\u91cd\u8981\u306a\u30dd\u30a4\u30f3\u30c8\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5024\u304c\u898b\u3064\u304b\u3063\u305f\u304b\u3069\u3046\u304b<\/strong>\u306e\u307f\u3092\u8fd4\u3059\uff08\u4f4d\u7f6e\u60c5\u5831\u306f\u8fd4\u3055\u306a\u3044\uff09<\/li>\n\n\n\n<li>\u8907\u6570\u306e\u4e00\u81f4\u304c\u3042\u308b\u5834\u5408\u3067\u3082\u3001\u5358\u306b<strong>true<\/strong>\u3092\u8fd4\u3059\u306e\u307f\uff08\u4f55\u500b\u4e00\u81f4\u3057\u305f\u304b\u306f\u5206\u304b\u3089\u306a\u3044\uff09<\/li>\n\n\n\n<li>\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306f<strong>\u533a\u5225<\/strong>\u3055\u308c\u308b\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u2019A\u2019\u3068\u2019a\u2019\u306f\u7570\u306a\u308b\u5024\u3068\u3057\u3066\u51e6\u7406\uff09<\/li>\n\n\n\n<li>\u623b\u308a\u5024\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u306a\u3044\uff08\u6bce\u56de\u914d\u5217\u3092\u8d70\u67fb\u3059\u308b\uff09<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305f\u3001\u7a7a\u306e\u914d\u5217\u3092\u691c\u7d22\u3059\u308b\u5834\u5408\u306f\u5e38\u306b<strong>false<\/strong>\u3092\u8fd4\u3059\u3053\u3068\u306b\u3082\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$emptyArray = [];\nvar_dump(in_array('anyValue', $emptyArray)); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306f\u5358\u7d14\u306a\u304c\u3089\u5f37\u529b\u306a\u6a5f\u80fd\u3092\u63d0\u4f9b\u3057\u3001\u305d\u306e\u623b\u308a\u5024\u306e\u7279\u6027\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u3067\u3001\u52b9\u7387\u7684\u3067\u8aad\u307f\u3084\u3059\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u306e\u95a2\u6570\u306e\u3088\u308a\u5b9f\u8df5\u7684\u306a\u4f7f\u3044\u65b9\u306b\u3064\u3044\u3066\u6398\u308a\u4e0b\u3052\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-4\">in_array\u95a2\u6570\u306e\u5b9f\u8df5\u7684\u306a\u4f7f\u3044\u65b9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u3092\u7406\u89e3\u3057\u305f\u3068\u3053\u308d\u3067\u3001\u6b21\u306f<code>in_array()<\/code>\u95a2\u6570\u3092\u3088\u308a\u5b9f\u8df5\u7684\u306b\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e\u91cd\u8981\u306a\u30c6\u30af\u30cb\u30c3\u30af\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\u3053\u3053\u3067\u306f\u3001\u5b9f\u52d9\u3067\u906d\u9047\u3059\u308b\u5178\u578b\u7684\u306a\u72b6\u6cc1\u306b\u5bfe\u5fdc\u3059\u308b\u305f\u3081\u306e\u65b9\u6cd5\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\">\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u691c\u7d22\u306b\u304a\u3051\u308b\u53b3\u5bc6\u306a\u6bd4\u8f03\u306e\u91cd\u8981\u6027<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u306f\u300c\u5f31\u3044\u578b\u4ed8\u3051\u8a00\u8a9e\u300d\u3068\u3057\u3066\u77e5\u3089\u308c\u3066\u304a\u308a\u3001\u7570\u306a\u308b\u578b\u306e\u5024\u3092\u6bd4\u8f03\u3059\u308b\u969b\u306b\u81ea\u52d5\u7684\u306b\u578b\u5909\u63db\u3092\u884c\u3044\u307e\u3059\u3002\u3053\u306e\u7279\u6027\u306f\u4fbf\u5229\u306a\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u304c\u3001<code>in_array()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u969b\u306b\u306f\u4e88\u671f\u305b\u306c\u30d0\u30b0\u3092\u5f15\u304d\u8d77\u3053\u3059\u539f\u56e0\u3068\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306e\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$numbers = [1, 2, 3, 4, 5];\n\n\/\/ \u6587\u5b57\u5217\u306e \"3\" \u3067\u691c\u7d22\nvar_dump(in_array(\"3\", $numbers));       \/\/ bool(true)\n\n\/\/ \u7b2c3\u5f15\u6570\u3092 true \u306b\u3057\u3066\u53b3\u5bc6\u6bd4\u8f03\nvar_dump(in_array(\"3\", $numbers, true)); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001\u7b2c3\u5f15\u6570\u3092\u7701\u7565\u3057\u305f\u5834\u5408\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f<code>false<\/code>\uff09\u3001\u6587\u5b57\u5217\u306e<code>\"3\"<\/code>\u3068\u6570\u5024\u306e<code>3<\/code>\u306f\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u3001PHP\u304c\u81ea\u52d5\u7684\u306b\u578b\u5909\u63db\u3092\u884c\u3046\u305f\u3081\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3057\u304b\u3057\u3001\u3053\u308c\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u4e88\u60f3\u5916\u306e\u52d5\u4f5c\u3092\u5f15\u304d\u8d77\u3053\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$array = [0, 1, 2, 3];\n\n\/\/ \u7a7a\u6587\u5b57\u5217\u306f 0 \u3068\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u308b\nvar_dump(in_array(\"\", $array));      \/\/ bool(true)\n\n\/\/ null \u3082 0 \u3068\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u308b\nvar_dump(in_array(null, $array));    \/\/ bool(true)\n\n\/\/ \u53b3\u5bc6\u6bd4\u8f03\u3067\u306f\u578b\u304c\u9055\u3046\u306e\u3067 false\nvar_dump(in_array(\"\", $array, true)); \/\/ bool(false)\nvar_dump(in_array(null, $array, true)); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3088\u3046\u306a\u632f\u308b\u821e\u3044\u306f\u3001\u7279\u306b\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u6271\u3046\u5834\u5408\u306b\u554f\u984c\u3068\u306a\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001\u30d5\u30a9\u30fc\u30e0\u304b\u3089\u9001\u4fe1\u3055\u308c\u305f\u5024\u304c\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3092\u78ba\u8a8d\u3059\u308b\u5834\u5408\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u8a31\u53ef\u3055\u308c\u305f\u6570\u5024\u306eID\n$allowedIds = [1, 2, 3, 4, 5];\n\n\/\/ \u30d5\u30a9\u30fc\u30e0\u304b\u3089\u53d7\u3051\u53d6\u3063\u305f\u5024\uff08\u6587\u5b57\u5217\u578b\uff09\n$userInput = $_POST['user_id']; \/\/ \u4f8b\u3048\u3070 \"3\"\n\n\/\/ \u53b3\u5bc6\u6bd4\u8f03\u306a\u3057\u3067\u30c1\u30a7\u30c3\u30af - \u6587\u5b57\u5217\"3\"\u306f\u6570\u50243\u3068\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u308b\nif (in_array($userInput, $allowedIds)) {\n    \/\/ \u5b89\u5168\u3067\u306a\u3044\u5b9f\u88c5 - \u578b\u5909\u63db\u306b\u3088\u308a\u610f\u56f3\u3057\u306a\u3044\u5024\u304c\u8a31\u53ef\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\n    echo \"\u8a31\u53ef\u3055\u308c\u305fID\u3067\u3059\";\n}\n\n\/\/ \u53b3\u5bc6\u6bd4\u8f03\u3092\u4f7f\u7528\u3057\u305f\u3088\u308a\u5b89\u5168\u306a\u5b9f\u88c5\nif (in_array($userInput, $allowedIds, true)) {\n    \/\/ \u6587\u5b57\u5217\"3\"\u3068\u6570\u50243\u306f\u7570\u306a\u308b\u305f\u3081\u3001\u3053\u306e\u6761\u4ef6\u306f\u6e80\u305f\u3055\u308c\u306a\u3044\n    echo \"\u8a31\u53ef\u3055\u308c\u305fID\u3067\u3059\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3088\u3046\u306a\u554f\u984c\u3092\u907f\u3051\u308b\u305f\u3081\u3001\u7279\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u72b6\u6cc1\u3067\u306f<strong>\u5fc5\u305a\u53b3\u5bc6\u6bd4\u8f03<\/strong>\uff08<code>$strict = true<\/code>\uff09\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3092\u5f37\u304f\u63a8\u5968\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u5024\u306e\u691c\u8a3c<\/li>\n\n\n\n<li>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u5024\u306e\u691c\u8a3c<\/li>\n\n\n\n<li>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u95a2\u308f\u308b\u51e6\u7406<\/li>\n\n\n\n<li>\u7570\u306a\u308b\u578b\u306e\u5024\u304c\u6df7\u5728\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u914d\u5217\u306e\u691c\u7d22<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u696d\u754c\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3068\u3057\u3066\u306f\u3001\u7279\u5225\u306a\u7406\u7531\u304c\u306a\u3044\u9650\u308a\u3001<strong>\u5e38\u306b\u7b2c3\u5f15\u6570\u306b<code>true<\/code>\u3092\u6307\u5b9a\u3059\u308b<\/strong>\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u3063\u3066\u3001\u578b\u306e\u4e0d\u4e00\u81f4\u306b\u3088\u308b\u4e88\u671f\u3057\u306a\u3044\u52d5\u4f5c\u3084\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u8106\u5f31\u6027\u3092\u9632\u3050\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-6\">\u591a\u6b21\u5143\u914d\u5217\u3067\u306e\u8981\u7d20\u691c\u7d22\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6a19\u6e96\u306e<code>in_array()<\/code>\u95a2\u6570\u306f\u3001\u4e00\u6b21\u5143\u914d\u5217\u306e\u691c\u7d22\u306b\u9650\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u591a\u6b21\u5143\u914d\u5217\u306e\u5834\u5408\u3001\u6700\u4e0a\u4f4d\u30ec\u30d9\u30eb\u306e\u8981\u7d20\u306e\u307f\u3092\u691c\u7d22\u3057\u3001\u30cd\u30b9\u30c8\u3055\u308c\u305f\u914d\u5217\u306e\u4e2d\u8eab\u306f\u691c\u7d22\u3057\u307e\u305b\u3093\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$nestedArray = [1, 2, [3, 4], 5];\n\n\/\/ \u6700\u4e0a\u4f4d\u30ec\u30d9\u30eb\u306b\u3042\u308b\u8981\u7d20\u306e\u307f\u3092\u691c\u7d22\nvar_dump(in_array(3, $nestedArray)); \/\/ bool(false)\nvar_dump(in_array([3, 4], $nestedArray)); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u52d9\u3067\u306f\u591a\u6b21\u5143\u914d\u5217\u3092\u6271\u3046\u3053\u3068\u304c\u591a\u3044\u305f\u3081\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u691c\u7d22\u30c6\u30af\u30cb\u30c3\u30af\u304c\u5f79\u7acb\u3061\u307e\u3059\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-7\">1. \u518d\u5e30\u7684\u306a\u691c\u7d22\u95a2\u6570\u306e\u5b9f\u88c5<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u591a\u6b21\u5143\u914d\u5217\u5185\u3067\u5024\u3092\u518d\u5e30\u7684\u306b\u691c\u7d22\u3059\u308b\n * \n * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @param bool $strict \u53b3\u5bc6\u306b\u578b\u3092\u6bd4\u8f03\u3059\u308b\u304b\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_recursive($needle, $haystack, $strict = false) {\n    foreach ($haystack as $item) {\n        if (($strict ? $item === $needle : $item == $needle) || \n            (is_array($item) &amp;&amp; in_array_recursive($needle, $item, $strict))) {\n            return true;\n        }\n    }\n    return false;\n}\n\n$nestedArray = [1, 2, [3, 4, [5, 6]], 7];\nvar_dump(in_array_recursive(5, $nestedArray)); \/\/ bool(true)\nvar_dump(in_array_recursive(9, $nestedArray)); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u95a2\u6570\u306f\u3001\u914d\u5217\u306e\u5404\u8981\u7d20\u306b\u5bfe\u3057\u3066\u518d\u5e30\u7684\u306b\u51e6\u7406\u3092\u884c\u3044\u3001\u30cd\u30b9\u30c8\u3055\u308c\u305f\u914d\u5217\u306e\u4e2d\u8eab\u3082\u691c\u7d22\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-8\">2. \u914d\u5217\u306e\u5e73\u5766\u5316<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u3082\u3046\u4e00\u3064\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306f\u3001\u591a\u6b21\u5143\u914d\u5217\u3092\u4e00\u6b21\u5143\u914d\u5217\u306b\u300c\u5e73\u5766\u5316\u300d\u3057\u3066\u304b\u3089\u6a19\u6e96\u306e<code>in_array()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u591a\u6b21\u5143\u914d\u5217\u3092\u4e00\u6b21\u5143\u914d\u5217\u306b\u5e73\u5766\u5316\u3059\u308b\n * \n * @param array $array \u5e73\u5766\u5316\u3059\u308b\u914d\u5217\n * @return array \u5e73\u5766\u5316\u3055\u308c\u305f\u914d\u5217\n *\/\nfunction array_flatten($array) {\n    $result = [];\n    foreach ($array as $value) {\n        if (is_array($value)) {\n            $result = array_merge($result, array_flatten($value));\n        } else {\n            $result[] = $value;\n        }\n    }\n    return $result;\n}\n\n$nestedArray = [1, 2, [3, 4, [5, 6]], 7];\n$flattenedArray = array_flatten($nestedArray);\n\/\/ $flattenedArray \u306f [1, 2, 3, 4, 5, 6, 7] \u306b\u306a\u308b\n\n\/\/ \u6a19\u6e96\u306ein_array()\u3067\u691c\u7d22\u53ef\u80fd\nvar_dump(in_array(5, $flattenedArray)); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-9\">3. \u9023\u60f3\u914d\u5217\u5185\u306e\u7279\u5b9a\u30ad\u30fc\u306e\u5024\u3092\u691c\u7d22<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u914d\u5217\u306a\u3069\u3067\u7279\u5b9a\u306e\u30ad\u30fc\u306e\u5024\u3092\u691c\u7d22\u3059\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u95a2\u6570\u304c\u4fbf\u5229\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u9023\u60f3\u914d\u5217\u306e\u914d\u5217\u5185\u3067\u3001\u7279\u5b9a\u306e\u30ad\u30fc\u306e\u5024\u3092\u691c\u7d22\u3059\u308b\n * \n * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @param string|int $key \u691c\u7d22\u5bfe\u8c61\u306e\u30ad\u30fc\n * @param bool $strict \u53b3\u5bc6\u306b\u578b\u3092\u6bd4\u8f03\u3059\u308b\u304b\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_by_key($needle, $haystack, $key, $strict = false) {\n    foreach ($haystack as $item) {\n        if (isset($item[$key]) &amp;&amp; ($strict ? $item[$key] === $needle : $item[$key] == $needle)) {\n            return true;\n        }\n    }\n    return false;\n}\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u914d\u5217\n$users = [\n    ['id' =&gt; 1, 'name' =&gt; 'Alice', 'role' =&gt; 'admin'],\n    ['id' =&gt; 2, 'name' =&gt; 'Bob', 'role' =&gt; 'editor'],\n    ['id' =&gt; 3, 'name' =&gt; 'Charlie', 'role' =&gt; 'user']\n];\n\n\/\/ 'name'\u30ad\u30fc\u306e\u5024\u304c'Bob'\u3067\u3042\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u691c\u7d22\nvar_dump(in_array_by_key('Bob', $users, 'name')); \/\/ bool(true)\n\n\/\/ 'role'\u30ad\u30fc\u306e\u5024\u304c'guest'\u3067\u3042\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u691c\u7d22\nvar_dump(in_array_by_key('guest', $users, 'role')); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-10\">\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u691c\u7d22\u306e\u5b9f\u88c5\u65b9\u6cd5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u6a19\u6e96\u306e<code>in_array()<\/code>\u95a2\u6570\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u5927\u6587\u5b57\u3068\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$fruits = ['Apple', 'Banana', 'Orange'];\n\nvar_dump(in_array('apple', $fruits)); \/\/ bool(false) - \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u304c\u533a\u5225\u3055\u308c\u308b\nvar_dump(in_array('Apple', $fruits)); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3057\u304b\u3057\u3001\u5b9f\u52d9\u3067\u306f\u30e6\u30fc\u30b6\u30fc\u540d\u3084\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306a\u3069\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u305b\u305a\u306b\u691c\u7d22\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u305d\u306e\u5b9f\u88c5\u65b9\u6cd5\u3092\u3044\u304f\u3064\u304b\u7d39\u4ecb\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-11\">1. \u914d\u5217\u3068\u691c\u7d22\u5024\u3092\u5c0f\u6587\u5b57\uff08\u307e\u305f\u306f\u5927\u6587\u5b57\uff09\u306b\u5909\u63db<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$fruits = ['Apple', 'Banana', 'Orange'];\n$searchTerm = 'apple';\n\n\/\/ \u691c\u7d22\u524d\u306b\u914d\u5217\u306e\u5168\u8981\u7d20\u3092\u5c0f\u6587\u5b57\u306b\u5909\u63db\n$lowercasedFruits = array_map('strtolower', $fruits);\n\n\/\/ \u691c\u7d22\u5024\u3082\u5c0f\u6587\u5b57\u306b\u5909\u63db\u3057\u3066\u691c\u7d22\nvar_dump(in_array(strtolower($searchTerm), $lowercasedFruits)); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-12\">2. \u5c02\u7528\u306e\u95a2\u6570\u3092\u4f5c\u6210<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u305b\u305a\u306b\u914d\u5217\u5185\u3092\u691c\u7d22\u3059\u308b\n * \n * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_case_insensitive($needle, $haystack) {\n    return in_array(strtolower($needle), array_map('strtolower', $haystack));\n}\n\n$fruits = ['Apple', 'Banana', 'Orange'];\nvar_dump(in_array_case_insensitive('apple', $fruits)); \/\/ bool(true)\nvar_dump(in_array_case_insensitive('BANANA', $fruits)); \/\/ bool(true)\nvar_dump(in_array_case_insensitive('grape', $fruits)); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-13\">3. \u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u3088\u308a\u8907\u96d1\u306a\u30d1\u30bf\u30fc\u30f3\u30de\u30c3\u30c1\u30f3\u30b0\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u3082\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3057\u3066\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u305b\u305a\u306b\u691c\u7d22\u3059\u308b\n * \n * @param string $needle \u691c\u7d22\u3059\u308b\u6587\u5b57\u5217\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_regex($needle, $haystack) {\n    $pattern = '\/^' . preg_quote($needle, '\/') . '$\/i'; \/\/ 'i'\u4fee\u98fe\u5b50\u3067\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\n    return count(preg_grep($pattern, $haystack)) &gt; 0;\n}\n\n$fruits = ['Apple', 'Banana', 'Orange'];\nvar_dump(in_array_regex('apple', $fruits)); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u691c\u7d22\u3092\u5b9f\u88c5\u3059\u308b\u969b\u306e\u6ce8\u610f\u70b9\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u3053\u308c\u3089\u306e\u65b9\u6cd5\u306f\u3059\u3079\u3066\u3001\u6a19\u6e96\u306e<code>in_array()<\/code>\u95a2\u6570\u3088\u308a\u3082\u51e6\u7406\u901f\u5ea6\u304c\u9045\u304f\u306a\u308a\u307e\u3059<\/li>\n\n\n\n<li>\u5927\u898f\u6a21\u306a\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3067\u306f\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5f71\u97ff\u3092\u4e0e\u3048\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059<\/li>\n\n\n\n<li>\u53ef\u80fd\u3067\u3042\u308c\u3070\u3001\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3059\u308b\u524d\u306b\u6b63\u898f\u5316\uff08\u3059\u3079\u3066\u5c0f\u6587\u5b57\u3084\u5927\u6587\u5b57\u306b\u7d71\u4e00\uff09\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u3001\u691c\u7d22\u6642\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u52d9\u3067\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u306e\u691c\u8a3c\u3084\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306a\u3069\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u6bd4\u8f03\u304c\u5fc5\u8981\u306a\u5834\u5408\u306b\u3001\u3053\u308c\u3089\u306e\u30c6\u30af\u30cb\u30c3\u30af\u304c\u975e\u5e38\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-14\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6700\u9069\u5316\u3059\u308b\u4e0a\u3067\u3001\u914d\u5217\u64cd\u4f5c\u306f\u91cd\u8981\u306a\u691c\u8a0e\u5bfe\u8c61\u3068\u306a\u308a\u307e\u3059\u3002\u7279\u306b\u5927\u898f\u6a21\u306a\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3092\u6271\u3046\u5834\u5408\u3001<code>in_array()<\/code>\u95a2\u6570\u306e\u4f7f\u3044\u65b9\u4e00\u3064\u3067\u51e6\u7406\u901f\u5ea6\u306b\u5927\u304d\u306a\u5dee\u304c\u751f\u3058\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001<code>in_array()<\/code>\u95a2\u6570\u3092\u52b9\u7387\u7684\u306b\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-15\">\u5927\u898f\u6a21\u914d\u5217\u3067\u306e\u691c\u7d22\u6642\u306e\u51e6\u7406\u901f\u5ea6\u306b\u3064\u3044\u3066<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306e\u5185\u90e8\u52d5\u4f5c\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u306f\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u7b2c\u4e00\u6b69\u3067\u3059\u3002\u3053\u306e\u95a2\u6570\u306f\u3001PHP\u306e\u5185\u90e8\u5b9f\u88c5\u306b\u304a\u3044\u3066<strong>\u7dda\u5f62\u63a2\u7d22<\/strong>\uff08\u30ea\u30cb\u30a2\u30b5\u30fc\u30c1\uff09\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u8a08\u7b97\u91cf\u7406\u8ad6\u306b\u304a\u3051\u308bO(n)\u306e\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3042\u308a\u3001\u914d\u5217\u306e\u30b5\u30a4\u30ba\uff08n\uff09\u306b\u6bd4\u4f8b\u3057\u3066\u51e6\u7406\u6642\u9593\u304c\u5897\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7c21\u5358\u306b\u8a00\u3048\u3070\u3001\u914d\u5217\u306e\u8981\u7d20\u6570\u304c2\u500d\u306b\u306a\u308c\u3070\u3001\u691c\u7d22\u306b\u304b\u304b\u308b\u6642\u9593\u3082\u7d042\u500d\u306b\u306a\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\u4ee5\u4e0b\u306f\u3001\u7570\u306a\u308b\u30b5\u30a4\u30ba\u306e\u914d\u5217\u3067\u306e<code>in_array()<\/code>\u306e\u5e73\u5747\u5b9f\u884c\u6642\u9593\u3092\u793a\u3057\u305f\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u7d50\u679c\u3067\u3059\uff1a<\/p>\n\n\n<div id=\"id-4d1a32dc-427f-4eeb-8bba-11de068097d6\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u914d\u5217\u30b5\u30a4\u30ba<\/th><th>\u5e73\u5747\u5b9f\u884c\u6642\u9593<\/th><\/tr><\/thead><tbody><tr><td>100<\/td><td>0.0001ms<\/td><\/tr><tr><td>1,000<\/td><td>0.001ms<\/td><\/tr><tr><td>10,000<\/td><td>0.01ms<\/td><\/tr><tr><td>100,000<\/td><td>0.1ms<\/td><\/tr><tr><td>1,000,000<\/td><td>1.0ms<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u7d50\u679c\u304b\u3089\u5206\u304b\u308b\u3088\u3046\u306b\u3001\u5c0f\u898f\u6a21\u306a\u914d\u5217\uff08\u6570\u5343\u8981\u7d20\u307e\u3067\uff09\u3067\u306f\u3001<code>in_array()<\/code>\u306e\u51e6\u7406\u901f\u5ea6\u306f\u5341\u5206\u306b\u9ad8\u901f\u3067\u3059\u3002\u3057\u304b\u3057\u3001\u914d\u5217\u306e\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u306a\u308b\u306b\u3064\u308c\u3066\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u4f4e\u4e0b\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u88c5\u9762\u3067\u3055\u3089\u306b\u8a73\u3057\u304f\u898b\u308b\u3068\u3001<code>in_array()<\/code>\u95a2\u6570\u306f\u914d\u5217\u306e\u5148\u982d\u304b\u3089\u9806\u756a\u306b\u8981\u7d20\u3092\u8abf\u3079\u3001\u4e00\u81f4\u3059\u308b\u5024\u304c\u898b\u3064\u304b\u3063\u305f\u6642\u70b9\u3067\u51e6\u7406\u3092\u7d42\u4e86\u3057\u307e\u3059\u3002\u3064\u307e\u308a\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u691c\u7d22\u5024\u304c\u914d\u5217\u306e\u5148\u982d\u306b\u3042\u308b\u5834\u5408\u306f\u975e\u5e38\u306b\u9ad8\u901f<\/li>\n\n\n\n<li>\u691c\u7d22\u5024\u304c\u914d\u5217\u306e\u672b\u5c3e\u306b\u3042\u308b\u5834\u5408\u306f\u6700\u3082\u9045\u3044<\/li>\n\n\n\n<li>\u691c\u7d22\u5024\u304c\u914d\u5217\u306b\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306f\u5e38\u306b\u914d\u5217\u5168\u4f53\u3092\u8d70\u67fb\u3059\u308b\u305f\u3081\u6700\u3082\u9045\u3044<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3067\u7c21\u5358\u306b\u3053\u306e\u6319\u52d5\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ 100\u4e07\u8981\u7d20\u306e\u914d\u5217\u3092\u4f5c\u6210\n$largeArray = range(1, 1000000);\n\n\/\/ \u5148\u982d\u306e\u8981\u7d20\u3092\u691c\u7d22\n$start = microtime(true);\nin_array(1, $largeArray);\necho \"\u5148\u982d\u8981\u7d20\u306e\u691c\u7d22: \" . (microtime(true) - $start) * 1000 . \"ms\\n\";\n\n\/\/ \u4e2d\u592e\u306e\u8981\u7d20\u3092\u691c\u7d22\n$start = microtime(true);\nin_array(500000, $largeArray);\necho \"\u4e2d\u592e\u8981\u7d20\u306e\u691c\u7d22: \" . (microtime(true) - $start) * 1000 . \"ms\\n\";\n\n\/\/ \u672b\u5c3e\u306e\u8981\u7d20\u3092\u691c\u7d22\n$start = microtime(true);\nin_array(1000000, $largeArray);\necho \"\u672b\u5c3e\u8981\u7d20\u306e\u691c\u7d22: \" . (microtime(true) - $start) * 1000 . \"ms\\n\";\n\n\/\/ \u5b58\u5728\u3057\u306a\u3044\u8981\u7d20\u3092\u691c\u7d22\n$start = microtime(true);\nin_array(1000001, $largeArray);\necho \"\u5b58\u5728\u3057\u306a\u3044\u8981\u7d20\u306e\u691c\u7d22: \" . (microtime(true) - $start) * 1000 . \"ms\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u884c\u7d50\u679c\uff08\u74b0\u5883\u306b\u3088\u3063\u3066\u7570\u306a\u308a\u307e\u3059\uff09\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u5148\u982d\u8981\u7d20\u306e\u691c\u7d22: 0.005ms\n\u4e2d\u592e\u8981\u7d20\u306e\u691c\u7d22: 0.5ms\n\u672b\u5c3e\u8981\u7d20\u306e\u691c\u7d22: 1.0ms\n\u5b58\u5728\u3057\u306a\u3044\u8981\u7d20\u306e\u691c\u7d22: 1.1ms\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u7279\u6027\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8981\u4ef6\u306b\u5fdc\u3058\u3066<code>in_array()<\/code>\u306e\u4f7f\u7528\u3092\u6700\u9069\u5316\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-16\">\u578b\u6bd4\u8f03\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u4e0e\u3048\u308b\u5f71\u97ff<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306e\u7b2c3\u5f15\u6570\uff08<code>$strict<\/code>\uff09\u306f\u3001\u5358\u306b\u691c\u7d22\u306e\u6b63\u78ba\u6027\u3060\u3051\u3067\u306a\u304f\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u3082\u5f71\u97ff\u3092\u4e0e\u3048\u307e\u3059\u3002\u53b3\u5bc6\u306a\u6bd4\u8f03\uff08<code>$strict = true<\/code>\uff09\u3068\u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08<code>$strict = false<\/code>\uff09\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6bd4\u8f03\u3059\u308b\u3068\u3001\u610f\u5916\u306a\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$largeArray = range(1, 100000);\n$needle = 50000;\n\n\/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\n$start = microtime(true);\nin_array($needle, $largeArray, false);\n$loose = microtime(true) - $start;\n\n\/\/ \u53b3\u5bc6\u306a\u6bd4\u8f03\n$start = microtime(true);\nin_array($needle, $largeArray, true);\n$strict = microtime(true) - $start;\n\necho \"\u7de9\u3084\u304b\u306a\u6bd4\u8f03: \" . ($loose * 1000) . \"ms\\n\";\necho \"\u53b3\u5bc6\u306a\u6bd4\u8f03: \" . ($strict * 1000) . \"ms\\n\";\necho \"\u5dee\u5206: \" . (($loose - $strict) \/ $loose * 100) . \"%\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u822c\u7684\u306a\u5b9f\u884c\u7d50\u679c\u3067\u306f\u3001<strong>\u53b3\u5bc6\u306a\u6bd4\u8f03\u306f\u7de9\u3084\u304b\u306a\u6bd4\u8f03\u3088\u308a\u3082\u7d0410\u301c15%\u9ad8\u901f<\/strong>\u3067\u3042\u308b\u3053\u3068\u304c\u5206\u304b\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u76f4\u611f\u306b\u53cd\u3059\u308b\u3088\u3046\u306b\u601d\u3048\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u7406\u7531\u306f\u7c21\u5358\u3067\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08<code>==<\/code>\uff09\u3067\u306f\u3001\u5024\u3092\u6bd4\u8f03\u3059\u308b\u524d\u306b\u578b\u5909\u63db\u304c\u884c\u308f\u308c\u308b\u3053\u3068\u304c\u3042\u308b<\/li>\n\n\n\n<li>\u53b3\u5bc6\u306a\u6bd4\u8f03\uff08<code>===<\/code>\uff09\u3067\u306f\u3001\u578b\u5909\u63db\u306f\u4e0d\u8981\u3067\u3001\u5358\u7d14\u306a\u5024\u306e\u6bd4\u8f03\u306e\u307f\u304c\u884c\u308f\u308c\u308b<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u7d50\u679c\u306f\u3001<code>in_array()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u969b\u306f\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3068\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u4e21\u65b9\u306e\u89b3\u70b9\u304b\u3089\u3001\u53ef\u80fd\u306a\u9650\u308a\u53b3\u5bc6\u306a\u6bd4\u8f03\uff08<code>$strict = true<\/code>\uff09\u3092\u4f7f\u7528\u3059\u3079\u304d\u3067\u3042\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u7d50\u679c\u3092\u3055\u3089\u306b\u8a73\u3057\u304f\u898b\u3066\u307f\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n<div id=\"id-166cb14d-7161-49f5-aa47-3c8e8084dea3\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30b7\u30ca\u30ea\u30aa<\/th><th>\u7de9\u3084\u304b\u306a\u6bd4\u8f03<\/th><th>\u53b3\u5bc6\u306a\u6bd4\u8f03<\/th><th>\u5dee\u5206<\/th><\/tr><\/thead><tbody><tr><td>\u5c0f\u898f\u6a21\u914d\u5217\uff081,000\u8981\u7d20\uff09<\/td><td>0.0012ms<\/td><td>0.0010ms<\/td><td>\u7d0415%\u9ad8\u901f<\/td><\/tr><tr><td>\u5927\u898f\u6a21\u914d\u5217\uff08100,000\u8981\u7d20\uff09<\/td><td>0.12ms<\/td><td>0.10ms<\/td><td>\u7d0415%\u9ad8\u901f<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u7d50\u679c\u304b\u3089\u3001\u914d\u5217\u306e\u30b5\u30a4\u30ba\u306b\u95a2\u4fc2\u306a\u304f\u3001\u53b3\u5bc6\u306a\u6bd4\u8f03\u306f\u4e00\u8cab\u3057\u3066\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u4e0a\u306e\u5229\u70b9\u304c\u3042\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-17\">\u914d\u5217\u306e\u30cf\u30c3\u30b7\u30e5\u5316\u306b\u3088\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u898f\u6a21\u306a\u914d\u5217\u3084\u983b\u7e41\u306b\u691c\u7d22\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u3001<code>in_array()<\/code>\u95a2\u6570\u306e\u7dda\u5f62\u63a2\u7d22\u3088\u308a\u3082\u3001<strong>\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb<\/strong>\uff08\u9023\u60f3\u914d\u5217\uff09\u3092\u4f7f\u7528\u3057\u305f\u691c\u7d22\u306e\u65b9\u304c\u306f\u308b\u304b\u306b\u52b9\u7387\u7684\u3067\u3059\u3002PHP\u306e\u9023\u60f3\u914d\u5217\u306f\u5185\u90e8\u7684\u306b\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u3068\u3057\u3066\u5b9f\u88c5\u3055\u308c\u3066\u304a\u308a\u3001\u30ad\u30fc\u306b\u3088\u308b\u30a2\u30af\u30bb\u30b9\u306f\u5e73\u5747\u7684\u306bO(1)\u306e\u8a08\u7b97\u91cf\uff08\u5b9a\u6570\u6642\u9593\uff09\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306b\u3001\u914d\u5217\u3092\u30cf\u30c3\u30b7\u30e5\u5316\u3059\u308b\u3044\u304f\u3064\u304b\u306e\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-18\">1. \u5024\u3092\u30ad\u30fc\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\uff08array_flip\uff09<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u901a\u5e38\u306e\u914d\u5217\n$fruits = ['apple', 'banana', 'orange', 'grape', 'melon'];\n\n\/\/ \u5024\u3092\u30ad\u30fc\u306b\u5909\u63db\uff08\u30cf\u30c3\u30b7\u30e5\u5316\uff09\n$fruitsMap = array_flip($fruits);\n\/\/ \u7d50\u679c: ['apple' =&gt; 0, 'banana' =&gt; 1, 'orange' =&gt; 2, 'grape' =&gt; 3, 'melon' =&gt; 4]\n\n\/\/ \u901a\u5e38\u306ein_array()\u306b\u3088\u308b\u691c\u7d22\n$start = microtime(true);\n$exists1 = in_array('banana', $fruits);\n$time1 = microtime(true) - $start;\n\n\/\/ \u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3057\u305f\u691c\u7d22\n$start = microtime(true);\n$exists2 = isset($fruitsMap['banana']);\n$time2 = microtime(true) - $start;\n\necho \"in_array(): \" . ($time1 * 1000000) . \"\u03bcs\\n\";\necho \"\u30cf\u30c3\u30b7\u30e5\u691c\u7d22: \" . ($time2 * 1000000) . \"\u03bcs\\n\";\necho \"\u9ad8\u901f\u5316\u7387: \" . ($time1 \/ $time2) . \"\u500d\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u822c\u7684\u306a\u5b9f\u884c\u7d50\u679c\uff08\u5c0f\u898f\u6a21\u914d\u5217\u306e\u5834\u5408\uff09\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">in_array(): 0.5\u03bcs\n\u30cf\u30c3\u30b7\u30e5\u691c\u7d22: 0.1\u03bcs\n\u9ad8\u901f\u5316\u7387: 5\u500d\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u898f\u6a21\u914d\u5217\uff0810\u4e07\u8981\u7d20\u4ee5\u4e0a\uff09\u306b\u306a\u308b\u3068\u3001\u3053\u306e\u5dee\u306f\u3055\u3089\u306b\u9855\u8457\u306b\u306a\u308a\u3001<strong>\u6570\u767e\u500d\u304b\u3089\u6570\u5343\u500d<\/strong>\u306e\u9ad8\u901f\u5316\u304c\u671f\u5f85\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-19\">2. \u5024\u3092\u30ad\u30fc\u3068\u5024\u306e\u4e21\u65b9\u306b\u8a2d\u5b9a\uff08array_combine\uff09<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u6570\u5024\u306e\u914d\u5217\n$numbers = [1, 2, 3, 4, 5];\n\n\/\/ \u5024\u3092\u30ad\u30fc\u3068\u5024\u306e\u4e21\u65b9\u306b\u8a2d\u5b9a\n$numbersMap = array_combine($numbers, $numbers);\n\/\/ \u7d50\u679c: [1 =&gt; 1, 2 =&gt; 2, 3 =&gt; 3, 4 =&gt; 4, 5 =&gt; 5]\n\n\/\/ \u691c\u7d22\nvar_dump(array_key_exists(3, $numbersMap)); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-20\">3. \u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u306e\u4f5c\u6210\uff08array_fill_keys\uff09<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u5143\u306e\u914d\u5217\n$allowedRoles = ['admin', 'editor', 'author'];\n\n\/\/ \u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u306e\u4f5c\u6210\n$rolesMap = array_fill_keys($allowedRoles, true);\n\/\/ \u7d50\u679c: ['admin' =&gt; true, 'editor' =&gt; true, 'author' =&gt; true]\n\n\/\/ \u5b58\u5728\u78ba\u8a8d\nfunction checkRole($role, $allowedRoles, $rolesMap) {\n    \/\/ \u5f93\u6765\u306e\u65b9\u6cd5\n    $start = microtime(true);\n    $result1 = in_array($role, $allowedRoles);\n    $time1 = microtime(true) - $start;\n    \n    \/\/ \u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f7f\u7528\n    $start = microtime(true);\n    $result2 = isset($rolesMap[$role]);\n    $time2 = microtime(true) - $start;\n    \n    return [\n        'in_array' =&gt; ['result' =&gt; $result1, 'time' =&gt; $time1],\n        'hashmap' =&gt; ['result' =&gt; $result2, 'time' =&gt; $time2]\n    ];\n}\n\n\/\/ \u5b58\u5728\u3059\u308b\u5024\u3067\u30c6\u30b9\u30c8\n$result = checkRole('editor', $allowedRoles, $rolesMap);\necho \"\u5b58\u5728\u3059\u308b\u5024\u306e\u691c\u7d22:\\n\";\necho \"in_array(): \" . ($result['in_array']['time'] * 1000000) . \"\u03bcs\\n\";\necho \"\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7: \" . ($result['hashmap']['time'] * 1000000) . \"\u03bcs\\n\";\n\n\/\/ \u5b58\u5728\u3057\u306a\u3044\u5024\u3067\u30c6\u30b9\u30c8\n$result = checkRole('guest', $allowedRoles, $rolesMap);\necho \"\u5b58\u5728\u3057\u306a\u3044\u5024\u306e\u691c\u7d22:\\n\";\necho \"in_array(): \" . ($result['in_array']['time'] * 1000000) . \"\u03bcs\\n\";\necho \"\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7: \" . ($result['hashmap']['time'] * 1000000) . \"\u03bcs\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u898f\u6a21\u914d\u5217\u3067\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\uff1a<\/p>\n\n\n<div id=\"id-969e40a8-c84c-4424-9174-5360cc645e54\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30b7\u30ca\u30ea\u30aa<\/th><th>in_array()<\/th><th>\u30cf\u30c3\u30b7\u30e5\u691c\u7d22<\/th><th>\u9ad8\u901f\u5316\u7387<\/th><\/tr><\/thead><tbody><tr><td>10,000\u8981\u7d20<\/td><td>0.01ms<\/td><td>0.0001ms<\/td><td>\u7d04100\u500d<\/td><\/tr><tr><td>100,000\u8981\u7d20<\/td><td>0.1ms<\/td><td>0.0001ms<\/td><td>\u7d041,000\u500d<\/td><\/tr><tr><td>1,000,000\u8981\u7d20<\/td><td>1.0ms<\/td><td>0.0001ms<\/td><td>\u7d0410,000\u500d<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3088\u3046\u306b\u3001\u914d\u5217\u306e\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u306a\u308b\u307b\u3069\u3001\u30cf\u30c3\u30b7\u30e5\u691c\u7d22\u306e\u512a\u4f4d\u6027\u306f\u9855\u8457\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u3001<code>in_array()<\/code>\u304cO(n)\u306e\u8a08\u7b97\u91cf\u3092\u6301\u3064\u306e\u306b\u5bfe\u3057\u3001\u30cf\u30c3\u30b7\u30e5\u691c\u7d22\u306fO(1)\u306e\u8a08\u7b97\u91cf\u3092\u6301\u3064\u305f\u3081\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3059\u308b\u4e0a\u3067\u306e\u6ce8\u610f\u70b9\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30ad\u30fc\u306e\u5236\u9650<\/strong>: PHP\u306e\u914d\u5217\u306e\u30ad\u30fc\u306b\u306f\u6587\u5b57\u5217\u307e\u305f\u306f\u6574\u6570\u3057\u304b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u914d\u5217\u3084\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306a\u3069\u306e\u8907\u5408\u578b\u3092\u76f4\u63a5\u30ad\u30fc\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li><strong>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf<\/strong>: \u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u306f\u901a\u5e38\u306e\u914d\u5217\u3088\u308a\u3082\u591a\u304f\u306e\u30e1\u30e2\u30ea\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u7279\u306b\u5927\u898f\u6a21\u306a\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3067\u306f\u3001\u3053\u306e\u30c8\u30ec\u30fc\u30c9\u30aa\u30d5\u3092\u8003\u616e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u66f4\u65b0\u30b3\u30b9\u30c8<\/strong>: \u914d\u5217\u304c\u983b\u7e41\u306b\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u3001\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3082\u540c\u6642\u306b\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u8ffd\u52a0\u306e\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u304c\u767a\u751f\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u306e\u66f4\u65b0\u4f8b\n$fruits = ['apple', 'banana', 'orange'];\n$fruitsMap = array_flip($fruits);\n\n\/\/ \u8981\u7d20\u306e\u8ffd\u52a0\n$fruits[] = 'grape';\n$fruitsMap['grape'] = count($fruits) - 1;\n\n\/\/ \u8981\u7d20\u306e\u524a\u9664\uff08\u3088\u308a\u8907\u96d1\uff09\n$indexToRemove = array_search('banana', $fruits);\nif ($indexToRemove !== false) {\n    unset($fruits[$indexToRemove]);\n    $fruits = array_values($fruits); \/\/ \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u632f\u308a\u76f4\u3059\n    $fruitsMap = array_flip($fruits); \/\/ \u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u518d\u69cb\u7bc9\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u52d9\u3067\u306e\u4f7f\u7528\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5c0f\u898f\u6a21\u914d\u5217<\/strong>\uff08\u6570\u767e\u8981\u7d20\u307e\u3067\uff09\u3067\u306f\u3001\u30b7\u30f3\u30d7\u30eb\u3055\u3092\u512a\u5148\u3057\u3066<code>in_array()<\/code>\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li><strong>\u4e2d\u898f\u6a21\u914d\u5217<\/strong>\uff08\u6570\u767e\u301c\u6570\u5343\u8981\u7d20\uff09\u3067<strong>\u983b\u7e41\u306b\u691c\u7d22<\/strong>\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001\u30cf\u30c3\u30b7\u30e5\u5316\u3092\u691c\u8a0e\u3059\u308b<\/li>\n\n\n\n<li><strong>\u5927\u898f\u6a21\u914d\u5217<\/strong>\uff08\u6570\u4e07\u8981\u7d20\u4ee5\u4e0a\uff09\u3067\u306f\u3001\u307b\u307c\u5e38\u306b\u30cf\u30c3\u30b7\u30e5\u5316\u304c\u63a8\u5968\u3055\u308c\u308b<\/li>\n\n\n\n<li><strong>\u9759\u7684\u306a\u30c7\u30fc\u30bf<\/strong>\uff08\u5909\u66f4\u3055\u308c\u306a\u3044\u914d\u5217\uff09\u306f\u3001\u521d\u671f\u5316\u6642\u306b\u30cf\u30c3\u30b7\u30e5\u5316\u3057\u3066\u304a\u304f<\/li>\n\n\n\n<li><strong>\u5909\u66f4\u304c\u983b\u7e41\u306a\u30c7\u30fc\u30bf<\/strong>\u3067\u306f\u3001\u66f4\u65b0\u30b3\u30b9\u30c8\u3068\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u8003\u616e\u3059\u308b<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306e\u95a2\u6570\u306f\u3001\u914d\u5217\u306e\u30b5\u30a4\u30ba\u306b\u57fa\u3065\u3044\u3066\u9069\u5207\u306a\u691c\u7d22\u65b9\u6cd5\u3092\u81ea\u52d5\u7684\u306b\u9078\u629e\u3059\u308b\u4f8b\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u914d\u5217\u30b5\u30a4\u30ba\u306b\u5fdc\u3058\u3066\u6700\u9069\u306a\u691c\u7d22\u65b9\u6cd5\u3092\u4f7f\u7528\u3059\u308b\n * \n * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @param bool $strict \u53b3\u5bc6\u306b\u578b\u3092\u6bd4\u8f03\u3059\u308b\u304b\uff08\u30cf\u30c3\u30b7\u30e5\u691c\u7d22\u3067\u306f\u7121\u8996\uff09\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction smart_in_array($needle, $haystack, $strict = false) {\n    \/\/ \u6570\u5024\u307e\u305f\u306f\u6587\u5b57\u5217\u3067\u3001\u304b\u3064\u914d\u5217\u304c\u4e00\u5b9a\u306e\u30b5\u30a4\u30ba\u3088\u308a\u5927\u304d\u3044\u5834\u5408\u306f\u30cf\u30c3\u30b7\u30e5\u691c\u7d22\u3092\u4f7f\u7528\n    if ((is_string($needle) || is_int($needle)) &amp;&amp; count($haystack) &gt; 500) {\n        static $hashMaps = [];\n        \n        \/\/ \u914d\u5217\u306e\u30cf\u30c3\u30b7\u30e5\u3092\u751f\u6210\uff08\u30ad\u30e3\u30c3\u30b7\u30e5\u7528\uff09\n        $hashKey = spl_object_hash((object)$haystack);\n        \n        \/\/ \u3053\u306e\u914d\u5217\u306e\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u304c\u307e\u3060\u4f5c\u6210\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u4f5c\u6210\n        if (!isset($hashMaps[$hashKey])) {\n            $hashMaps[$hashKey] = array_flip($haystack);\n        }\n        \n        \/\/ \u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f7f\u7528\u3057\u3066\u691c\u7d22\n        return isset($hashMaps[$hashKey][$needle]);\n    }\n    \n    \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306fin_array()\u3092\u4f7f\u7528\n    return in_array($needle, $haystack, $strict);\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u3068\u3081\u308b\u3068\u3001<code>in_array()<\/code>\u95a2\u6570\u306e\u6027\u80fd\u3092\u6700\u5927\u9650\u306b\u5f15\u304d\u51fa\u3059\u305f\u3081\u306b\u306f\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u53ef\u80fd\u306a\u9650\u308a<strong>\u53b3\u5bc6\u6bd4\u8f03<\/strong>\uff08<code>$strict = true<\/code>\uff09\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li>\u5927\u898f\u6a21\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3084\u983b\u7e41\u306a\u691c\u7d22\u306b\u306f<strong>\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb<\/strong>\u3092\u691c\u8a0e\u3059\u308b<\/li>\n\n\n\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e<strong>\u8981\u4ef6\u3068\u30c8\u30ec\u30fc\u30c9\u30aa\u30d5<\/strong>\u3092\u614e\u91cd\u306b\u8a55\u4fa1\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u3067\u3001PHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3068\u5fdc\u7b54\u6027\u3092\u5927\u5e45\u306b\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-21\">\u3088\u304f\u3042\u308b\u30d0\u30b0\u3068\u5bfe\u51e6\u6cd5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306f\u4e00\u898b\u30b7\u30f3\u30d7\u30eb\u306b\u898b\u3048\u307e\u3059\u304c\u3001PHP\u306e\u578b\u5909\u63db\u306e\u4ed5\u7d44\u307f\u3084\u5927\u898f\u6a21\u30c7\u30fc\u30bf\u306e\u51e6\u7406\u306a\u3069\u3001\u5b9f\u969b\u306b\u4f7f\u7528\u3059\u308b\u969b\u306b\u306f\u3044\u304f\u3064\u304b\u306e\u843d\u3068\u3057\u7a74\u304c\u5b58\u5728\u3057\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001<code>in_array()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u969b\u306b\u3088\u304f\u906d\u9047\u3059\u308b\u554f\u984c\u3068\u3001\u305d\u308c\u3089\u3092\u52b9\u679c\u7684\u306b\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306e\u65b9\u6cd5\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-22\">\u578b\u306e\u4e0d\u4e00\u81f4\u306b\u3088\u308b\u4e88\u305b\u306c\u52d5\u4f5c\u3068\u305d\u306e\u56de\u907f\u7b56<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u306f\u300c\u5f31\u3044\u578b\u4ed8\u3051\u8a00\u8a9e\u300d\u3067\u3042\u308b\u305f\u3081\u3001\u7570\u306a\u308b\u578b\u306e\u5024\u3092\u6bd4\u8f03\u3059\u308b\u969b\u306b\u81ea\u52d5\u7684\u306b\u578b\u5909\u63db\u3092\u884c\u3044\u307e\u3059\u3002\u3053\u306e\u6319\u52d5\u306f\u4fbf\u5229\u306a\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u304c\u3001<code>in_array()<\/code>\u95a2\u6570\u3067\u306f\u4e88\u671f\u305b\u306c\u30d0\u30b0\u3092\u5f15\u304d\u8d77\u3053\u3059\u539f\u56e0\u3068\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306b\u3001\u578b\u306e\u4e0d\u4e00\u81f4\u306b\u3088\u3063\u3066\u767a\u751f\u3059\u308b\u5178\u578b\u7684\u306a\u554f\u984c\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-23\">\u6570\u5024\u3068\u6587\u5b57\u5217\u306e\u6bd4\u8f03<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$numbers = [1, 2, 3];\n\n\/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\nvar_dump(in_array('2', $numbers));      \/\/ bool(true) - \u4e88\u671f\u305b\u306c\u52d5\u4f5c\n\/\/ \u53b3\u5bc6\u306a\u6bd4\u8f03\nvar_dump(in_array('2', $numbers, true)); \/\/ bool(false) - \u671f\u5f85\u901a\u308a\u306e\u52d5\u4f5c\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30b1\u30fc\u30b9\u3067\u306f\u3001\u6587\u5b57\u5217\u306e<code>'2'<\/code>\u304c\u6570\u5024\u306e<code>2<\/code>\u3068\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306fPHP\u304c\u81ea\u52d5\u7684\u306b\u6587\u5b57\u5217\u3092\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u305f\u3081\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-24\">0\u3068\u7a7a\u6587\u5b57\u5217\u306e\u6bd4\u8f03<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$array = [0];\n\n\/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\nvar_dump(in_array('', $array));       \/\/ bool(true) - \u4e88\u671f\u305b\u306c\u52d5\u4f5c\n\/\/ \u53b3\u5bc6\u306a\u6bd4\u8f03\nvar_dump(in_array('', $array, true)); \/\/ bool(false) - \u671f\u5f85\u901a\u308a\u306e\u52d5\u4f5c\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7a7a\u6587\u5b57\u5217\uff08<code>''<\/code>\uff09\u304cPHP\u306b\u3088\u3063\u3066<code>0<\/code>\u306b\u5909\u63db\u3055\u308c\u308b\u305f\u3081\u3001\u7de9\u3084\u304b\u306a\u6bd4\u8f03\u3067\u306f\u4e00\u81f4\u3059\u308b\u3068\u5224\u65ad\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-25\">null\u30680\/false\u306e\u6bd4\u8f03<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$array = [0, false];\n\n\/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\nvar_dump(in_array(null, $array));       \/\/ bool(true) - \u4e88\u671f\u305b\u306c\u52d5\u4f5c\n\/\/ \u53b3\u5bc6\u306a\u6bd4\u8f03\nvar_dump(in_array(null, $array, true)); \/\/ bool(false) - \u671f\u5f85\u901a\u308a\u306e\u52d5\u4f5c\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>null<\/code>\u5024\u306f\u7de9\u3084\u304b\u306a\u6bd4\u8f03\u306b\u304a\u3044\u3066<code>0<\/code>\u3084<code>false<\/code>\u3068\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-26\">\u30d6\u30fc\u30eb\u5024\u30680\/1\u306e\u6bd4\u8f03<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$booleans = [true, false];\n\n\/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\nvar_dump(in_array(1, $booleans));       \/\/ bool(true) - \u4e88\u671f\u305b\u306c\u52d5\u4f5c\nvar_dump(in_array(0, $booleans));       \/\/ bool(true) - \u4e88\u671f\u305b\u306c\u52d5\u4f5c\n\/\/ \u53b3\u5bc6\u306a\u6bd4\u8f03\nvar_dump(in_array(1, $booleans, true)); \/\/ bool(false) - \u671f\u5f85\u901a\u308a\u306e\u52d5\u4f5c\nvar_dump(in_array(0, $booleans, true)); \/\/ bool(false) - \u671f\u5f85\u901a\u308a\u306e\u52d5\u4f5c\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u306e\u578b\u5909\u63db\u30eb\u30fc\u30eb\u3067\u306f\u3001<code>true<\/code>\u306f<code>1<\/code>\u3068\u3001<code>false<\/code>\u306f<code>0<\/code>\u3068\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u554f\u984c\u306f\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u8106\u5f31\u6027\u3084\u3001\u30c7\u30d0\u30c3\u30b0\u304c\u56f0\u96e3\u306a\u30d0\u30b0\u3092\u5f15\u304d\u8d77\u3053\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001\u30e6\u30fc\u30b6\u30fc\u6a29\u9650\u306e\u30c1\u30a7\u30c3\u30af\u3067\u610f\u56f3\u3057\u306a\u3044\u5024\u304c\u8a31\u53ef\u3055\u308c\u3066\u3057\u307e\u3046\u3068\u3044\u3063\u305f\u4e8b\u614b\u304c\u8003\u3048\u3089\u308c\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u8a31\u53ef\u3055\u308c\u305f\u6a29\u9650\u30ec\u30d9\u30eb\uff08\u6570\u5024\uff09\n$allowedLevels = [1, 2, 3];\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u6a29\u9650\uff08\u6587\u5b57\u5217\u3068\u3057\u3066\u53d6\u5f97\u3055\u308c\u305f\u5834\u5408\uff09\n$userLevel = '0'; \/\/ \u4f8b\u3048\u3070\u3001POST\u30c7\u30fc\u30bf\u304b\u3089\u53d6\u5f97\n\n\/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\u3092\u4f7f\u7528\u3057\u305f\u5834\u5408\uff08\u5371\u967a\uff09\nif (in_array($userLevel, $allowedLevels)) {\n    echo \"\u30a2\u30af\u30bb\u30b9\u8a31\u53ef\"; \/\/ \u3053\u306e\u884c\u306f\u5b9f\u884c\u3055\u308c\u306a\u3044\uff08\u671f\u5f85\u901a\u308a\uff09\n} else {\n    echo \"\u30a2\u30af\u30bb\u30b9\u62d2\u5426\"; \/\/ \u3053\u306e\u884c\u304c\u5b9f\u884c\u3055\u308c\u308b\uff08\u671f\u5f85\u901a\u308a\uff09\n}\n\n\/\/ \u7a7a\u6587\u5b57\u5217\u306e\u5834\u5408\n$userLevel = '';\n\n\/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\u3092\u4f7f\u7528\u3057\u305f\u5834\u5408\uff08\u5371\u967a\uff09\nif (in_array($userLevel, $allowedLevels)) {\n    echo \"\u30a2\u30af\u30bb\u30b9\u8a31\u53ef\"; \/\/ \u3082\u3057$allowedLevels\u306b0\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u3068\u3001\u3053\u306e\u884c\u304c\u5b9f\u884c\u3055\u308c\u308b\uff08\u4e88\u671f\u305b\u306c\u52d5\u4f5c\uff09\n} else {\n    echo \"\u30a2\u30af\u30bb\u30b9\u62d2\u5426\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-27\">\u5bfe\u7b56\u3068\u9632\u6b62\u7b56<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5e38\u306b\u53b3\u5bc6\u6bd4\u8f03\u3092\u4f7f\u7528\u3059\u308b<\/strong> \u6700\u3082\u91cd\u8981\u306a\u5bfe\u7b56\u306f\u3001<code>in_array()<\/code>\u306e\u7b2c3\u5f15\u6570\u306b<code>true<\/code>\u3092\u6307\u5b9a\u3057\u3066\u53b3\u5bc6\u6bd4\u8f03\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3059\uff1a <code>&lt;?php \/\/ \u5e38\u306b\u53b3\u5bc6\u6bd4\u8f03\u3092\u4f7f\u7528 if (in_array($userInput, $allowedValues, true)) { \/\/ \u5b89\u5168\u306a\u51e6\u7406 } ?&gt;<\/code><\/li>\n\n\n\n<li><strong>\u30c7\u30fc\u30bf\u306e\u578b\u3092\u4e8b\u524d\u306b\u7d71\u4e00\u3059\u308b<\/strong> \u5165\u529b\u5024\u3084\u914d\u5217\u306e\u8981\u7d20\u3092\u9069\u5207\u306a\u578b\u306b\u5909\u63db\u3057\u3066\u304b\u3089\u51e6\u7406\u3059\u308b\u3053\u3068\u3067\u3001\u578b\u306e\u4e0d\u4e00\u81f4\u3092\u9632\u3050\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff1a <code>&lt;?php \/\/ \u6570\u5024\u3068\u3057\u3066\u6271\u3044\u305f\u3044\u5834\u5408 $userInput = (int)$_POST['user_id']; $allowedIds = [1, 2, 3, 4, 5]; if (in_array($userInput, $allowedIds, true)) { \/\/ \u5b89\u5168\u306a\u51e6\u7406 } ?&gt;<\/code><\/li>\n\n\n\n<li><strong>\u578b\u3092\u610f\u8b58\u3057\u305f\u30e9\u30c3\u30d1\u30fc\u95a2\u6570\u3092\u4f5c\u6210\u3059\u308b<\/strong> \u7279\u5b9a\u306e\u7528\u9014\u306b\u5408\u308f\u305b\u305f\u30e9\u30c3\u30d1\u30fc\u95a2\u6570\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u3067\u3001\u5b89\u5168\u6027\u3092\u9ad8\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff1a <code>&lt;?php \/** * \u578b\u5b89\u5168\u306a\u914d\u5217\u691c\u7d22 * * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024 * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217 * @param string $type \u671f\u5f85\u3059\u308b\u578b\uff08'string', 'int', 'float', 'bool'\uff09 * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false *\/ function type_safe_in_array($needle, $haystack, $type = null) { \/\/ \u578b\u306e\u691c\u8a3c if ($type !== null) { switch ($type) { case 'int': $needle = (int)$needle; break; case 'string': $needle = (string)$needle; break; case 'float': $needle = (float)$needle; break; case 'bool': $needle = (bool)$needle; break; } } \/\/ \u53b3\u5bc6\u6bd4\u8f03\u3067\u691c\u7d22 return in_array($needle, $haystack, true); } \/\/ \u4f7f\u7528\u4f8b $ids = [1, 2, 3, 4, 5]; var_dump(type_safe_in_array('3', $ids, 'int')); \/\/ bool(true) - '3'\u304c\u6574\u6570\u306e3\u306b\u5909\u63db\u3055\u308c\u308b ?&gt;<\/code><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u958b\u767a\u8005\u306f\u3001\u3053\u308c\u3089\u306e\u578b\u5909\u63db\u30eb\u30fc\u30eb\u3092\u5341\u5206\u306b\u7406\u89e3\u3057\u3001<code>in_array()<\/code>\u3092\u4f7f\u7528\u3059\u308b\u969b\u306b\u306f\u5e38\u306b\u614e\u91cd\u306b\u5bfe\u5fdc\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u7279\u306b\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u306e\u691c\u8a3c\u3084\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u95a2\u308f\u308b\u51e6\u7406\u3067\u306f\u3001\u5fc5\u305a\u53b3\u5bc6\u6bd4\u8f03\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-28\">\u5927\u898f\u6a21\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3067\u306e\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u6700\u9069\u5316<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u898f\u6a21\u306a\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3092\u6271\u3046\u5834\u5408\u3001<code>in_array()<\/code>\u95a2\u6570\u306e\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u304c\u554f\u984c\u306b\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u7279\u306b\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u72b6\u6cc1\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5927\u304d\u306a\u914d\u5217\u5168\u4f53\u3092\u30e1\u30e2\u30ea\u306b\u30ed\u30fc\u30c9\u3059\u308b<\/li>\n\n\n\n<li>\u5927\u898f\u6a21\u306a\u914d\u5217\u30b3\u30d4\u30fc\u306b\u3088\u308b\u30e1\u30e2\u30ea\u6d88\u8cbb<\/li>\n\n\n\n<li>\u4e0d\u5fc5\u8981\u306a\u30c7\u30fc\u30bf\u69cb\u9020\u306e\u8907\u88fd<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u554f\u984c\u306b\u5bfe\u51e6\u3059\u308b\u305f\u3081\u306e\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-29\">\u30a4\u30c6\u30ec\u30fc\u30bf\u306e\u6d3b\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u898f\u6a21\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u7d50\u679c\u3092\u76f4\u63a5\u30e1\u30e2\u30ea\u306b\u8aad\u307f\u8fbc\u3080\u4ee3\u308f\u308a\u306b\u3001\u30a4\u30c6\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066\u4e00\u90e8\u305a\u3064\u51e6\u7406\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u5927\u304d\u306aCSV\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u5024\u3092\u691c\u7d22\u3059\u308b\n * \n * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024\n * @param string $csvFile CSV\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\n * @param int $column \u691c\u7d22\u3059\u308b\u5217\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\uff08\u30c7\u30d5\u30a9\u30eb\u30c8: 0\uff09\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction find_in_csv($needle, $csvFile, $column = 0) {\n    if (!file_exists($csvFile)) {\n        return false;\n    }\n    \n    $handle = fopen($csvFile, 'r');\n    if ($handle === false) {\n        return false;\n    }\n    \n    \/\/ \u30d5\u30a1\u30a4\u30eb\u30921\u884c\u305a\u3064\u8aad\u307f\u8fbc\u3080\n    while (($line = fgetcsv($handle)) !== false) {\n        \/\/ \u6307\u5b9a\u3055\u308c\u305f\u5217\u306b\u5024\u304c\u5b58\u5728\u3059\u308b\u304b\u78ba\u8a8d\n        if (isset($line[$column]) &amp;&amp; $line[$column] === $needle) {\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-30\">\u5b9f\u7528\u7684\u306a\u4ee3\u66ff\u624b\u6bb5\u306e\u6bd4\u8f03<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306f\u914d\u5217\u5185\u306e\u5024\u3092\u691c\u7d22\u3059\u308b\u57fa\u672c\u7684\u306a\u65b9\u6cd5\u3067\u3059\u304c\u3001PHP \u306b\u306f\u4ed6\u306b\u3082\u914d\u5217\u691c\u7d22\u306e\u305f\u3081\u306e\u95a2\u6570\u3084\u624b\u6cd5\u304c\u3042\u308a\u307e\u3059\u3002\u7279\u5b9a\u306e\u30b7\u30ca\u30ea\u30aa\u3067\u306f\u3053\u308c\u3089\u306e\u4ee3\u66ff\u624b\u6bb5\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u5411\u4e0a\u3084\u30b3\u30fc\u30c9\u306e\u7c21\u6f54\u5316\u304c\u56f3\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001<code>in_array()<\/code>\u306e\u4e3b\u8981\u306a\u4ee3\u66ff\u624b\u6bb5\u3092\u6bd4\u8f03\u3057\u3001\u305d\u308c\u305e\u308c\u306e\u9069\u5207\u306a\u4f7f\u7528\u30b7\u30fc\u30f3\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-31\">array_search\u3068\u306e\u9055\u3044\u3068\u4f7f\u3044\u5206\u3051\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>array_search()<\/code>\u95a2\u6570\u306f<code>in_array()<\/code>\u3068\u975e\u5e38\u306b\u4f3c\u3066\u3044\u307e\u3059\u304c\u3001\u91cd\u8981\u306a\u9055\u3044\u304c\u3042\u308a\u307e\u3059\u3002\u4e21\u95a2\u6570\u306e\u57fa\u672c\u7684\u306a\u69cb\u6587\u3092\u6bd4\u8f03\u3057\u3066\u307f\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ in_array\u95a2\u6570\u306e\u69cb\u6587\nbool in_array(mixed $needle, array $haystack, bool $strict = false)\n\n\/\/ array_search\u95a2\u6570\u306e\u69cb\u6587\nmixed array_search(mixed $needle, array $haystack, bool $strict = false)\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u3082\u5927\u304d\u306a\u9055\u3044\u306f<strong>\u623b\u308a\u5024<\/strong>\u3067\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>in_array()<\/code>\uff1a\u5024\u304c\u914d\u5217\u5185\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u306f<code>true<\/code>\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070<code>false<\/code>\u3092\u8fd4\u3057\u307e\u3059<\/li>\n\n\n\n<li><code>array_search()<\/code>\uff1a\u5024\u304c\u914d\u5217\u5185\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u305d\u306e<strong>\u30ad\u30fc<\/strong>\uff08\u4f4d\u7f6e\uff09\u3092\u8fd4\u3057\u3001\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306f<code>false<\/code>\u3092\u8fd4\u3057\u307e\u3059<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u95a2\u6570\u306e\u4f7f\u3044\u5206\u3051\u306f\u4e3b\u306b\u3001\u300c\u5024\u304c\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u300d\u3060\u3051\u3092\u77e5\u308a\u305f\u3044\u306e\u304b\u3001\u305d\u308c\u3068\u3082\u300c\u5024\u304c\u3069\u3053\u306b\u3042\u308b\u304b\u300d\u3082\u77e5\u308a\u305f\u3044\u306e\u304b\u306b\u3088\u3063\u3066\u6c7a\u307e\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-32\">\u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$fruits = ['apple', 'banana', 'orange'];\n\n\/\/ in_array - \u5b58\u5728\u78ba\u8a8d\u306e\u307f\nif (in_array('banana', $fruits)) {\n    echo \"\u30d0\u30ca\u30ca\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\\n\";\n}\n\n\/\/ array_search - \u4f4d\u7f6e\u3082\u53d6\u5f97\n$position = array_search('banana', $fruits);\nif ($position !== false) {\n    echo \"\u30d0\u30ca\u30ca\u306f{$position}\u756a\u76ee\u306b\u898b\u3064\u304b\u308a\u307e\u3057\u305f\\n\";\n    \/\/ \u4f4d\u7f6e\u60c5\u5831\u3092\u4f7f\u3063\u3066\u8ffd\u52a0\u306e\u64cd\u4f5c\u304c\u53ef\u80fd\n    echo \"\u6b21\u306e\u679c\u7269\u306f: \" . $fruits[$position + 1] . \"\\n\"; \/\/ \"orange\"\u304c\u51fa\u529b\u3055\u308c\u308b\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-33\">\u623b\u308a\u5024\u306e\u5224\u5b9a\u306b\u95a2\u3059\u308b\u6ce8\u610f\u70b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>array_search()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u91cd\u8981\u306a\u6ce8\u610f\u70b9\u306f\u3001\u623b\u308a\u5024\u306e\u5224\u5b9a\u65b9\u6cd5\u3067\u3059\u3002\u3053\u306e\u95a2\u6570\u306f\u5024\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u5834\u5408\u306b<code>false<\/code>\u3092\u8fd4\u3057\u307e\u3059\u304c\u3001\u898b\u3064\u304b\u3063\u305f\u5024\u306e\u30ad\u30fc\u304c<code>0<\/code>\u306e\u5834\u5408\u3001\u5358\u7d14\u306a<code>if($position)<\/code>\u306b\u3088\u308b\u5224\u5b9a\u3067\u306f\u8aa4\u3063\u305f\u7d50\u679c\u306b\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$array = ['zero', 'one', 'two'];\n\n\/\/ 0\u756a\u76ee\u306e\u8981\u7d20\u3092\u691c\u7d22\n$position = array_search('zero', $array);\n\n\/\/ \u8aa4\u3063\u305f\u5224\u5b9a\uff080\u306ffalse\u3068\u8a55\u4fa1\u3055\u308c\u308b\uff09\nif (!$position) {\n    echo \"\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\uff08\u8aa4\u3063\u305f\u5224\u5b9a\uff09\\n\"; \/\/ \u3053\u306e\u884c\u304c\u5b9f\u884c\u3055\u308c\u3066\u3057\u307e\u3046\n}\n\n\/\/ \u6b63\u3057\u3044\u5224\u5b9a\uff08\u53b3\u5bc6\u6bd4\u8f03\u3092\u4f7f\u7528\uff09\nif ($position !== false) {\n    echo \"0\u756a\u76ee\u306b\u898b\u3064\u304b\u308a\u307e\u3057\u305f\uff08\u6b63\u3057\u3044\u5224\u5b9a\uff09\\n\"; \/\/ \u6b63\u3057\u3044\u7d50\u679c\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3088\u3046\u306b\u3001<code>array_search()<\/code>\u306e\u7d50\u679c\u3092\u5224\u5b9a\u3059\u308b\u969b\u306f\u3001\u5fc5\u305a\u53b3\u5bc6\u6bd4\u8f03\uff08<code>!== false<\/code>\uff09\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-34\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u6bd4\u8f03<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5185\u90e8\u5b9f\u88c5\u4e0a\u3001<code>in_array()<\/code>\u3068<code>array_search()<\/code>\u306f\u307b\u307c\u540c\u3058\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\uff08\u7dda\u5f62\u63a2\u7d22\uff09\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u7684\u306b\u306f\u307b\u3068\u3093\u3069\u5dee\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u3069\u3061\u3089\u3082\u914d\u5217\u306e\u30b5\u30a4\u30ba\u306b\u6bd4\u4f8b\u3057\u3066\u51e6\u7406\u6642\u9593\u304c\u5897\u52a0\u3057\u307e\u3059\uff08O(n)\u306e\u8a08\u7b97\u91cf\uff09\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-35\">\u9078\u629e\u306e\u5224\u65ad\u57fa\u6e96<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ in_array()\u3092\u9078\u3076\u5834\u5408\n\/\/ - \u5358\u7d14\u306b\u5024\u306e\u5b58\u5728\u78ba\u8a8d\u3060\u3051\u304c\u5fc5\u8981\n\/\/ - \u6761\u4ef6\u5206\u5c90\u306b\u305d\u306e\u307e\u307e\u4f7f\u3044\u305f\u3044\nif (in_array($value, $array)) {\n    \/\/ \u5024\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306e\u51e6\u7406\n}\n\n\/\/ array_search()\u3092\u9078\u3076\u5834\u5408\n\/\/ - \u5024\u306e\u4f4d\u7f6e\uff08\u30ad\u30fc\uff09\u304c\u5fc5\u8981\n\/\/ - \u898b\u3064\u304b\u3063\u305f\u8981\u7d20\u306b\u5bfe\u3057\u3066\u8ffd\u52a0\u306e\u64cd\u4f5c\u3092\u884c\u3044\u305f\u3044\n$key = array_search($value, $array);\nif ($key !== false) {\n    \/\/ \u4f4d\u7f6e\u3092\u4f7f\u3063\u305f\u8ffd\u52a0\u306e\u51e6\u7406\n    $array[$key] = $newValue; \/\/ \u8981\u7d20\u306e\u7f6e\u63db\n    $nextItem = $array[$key + 1]; \/\/ \u6b21\u306e\u8981\u7d20\u306e\u53d6\u5f97\n}\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8907\u6570\u306e\u64cd\u4f5c\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001<code>in_array()<\/code>\u3068<code>array_key_exists()<\/code>\u306e\u7d44\u307f\u5408\u308f\u305b\u3088\u308a\u3082\u3001<code>array_search()<\/code>\u30921\u56de\u3060\u3051\u4f7f\u7528\u3059\u308b\u65b9\u304c\u52b9\u7387\u7684\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$fruits = ['apple', 'banana', 'orange'];\n$search = 'banana';\n\n\/\/ \u975e\u52b9\u7387\u7684\u306a\u65b9\u6cd5\uff08\u914d\u5217\u30922\u56de\u8d70\u67fb\uff09\nif (in_array($search, $fruits)) {\n    $key = array_search($search, $fruits);\n    $fruits[$key] = 'green ' . $search;\n}\n\n\/\/ \u52b9\u7387\u7684\u306a\u65b9\u6cd5\uff08\u914d\u5217\u30921\u56de\u3060\u3051\u8d70\u67fb\uff09\n$key = array_search($search, $fruits);\nif ($key !== false) {\n    $fruits[$key] = 'green ' . $search;\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-36\">isset()\u3092\u4f7f\u7528\u3057\u305f\u9ad8\u901f\u306a\u5b58\u5728\u78ba\u8a8d\u306e\u65b9\u6cd5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u304c\u7dda\u5f62\u63a2\u7d22\uff08O(n)\uff09\u3067\u30c7\u30fc\u30bf\u3092\u691c\u7d22\u3059\u308b\u306e\u306b\u5bfe\u3057\u3001PHP\u306e\u9023\u60f3\u914d\u5217\uff08\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\uff09\u3092\u6d3b\u7528\u3059\u308b\u3068\u3001<code>isset()<\/code>\u95a2\u6570\u3092\u4f7f\u3063\u3066\u9ad8\u901f\uff08O(1)\uff09\u306a\u691c\u7d22\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u624b\u6cd5\u306f\u7279\u306b\u5927\u898f\u6a21\u306a\u914d\u5217\u3067\u975e\u5e38\u306b\u52b9\u679c\u7684\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>isset()<\/code>\u306f\u5909\u6570\u304c\u5ba3\u8a00\u3055\u308c\u3066\u3044\u3066<code>null<\/code>\u3067\u306a\u3044\u304b\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b\u8a00\u8a9e\u69cb\u9020\u3067\u3059\u3002\u914d\u5217\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u3001\u7279\u5b9a\u306e\u30ad\u30fc\u304c\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">isset($array[$key]); \/\/ $key\u304c$array\u5185\u306b\u5b58\u5728\u3057\u3001null\u4ee5\u5916\u306e\u5024\u3092\u6301\u3064\u304b\u30c1\u30a7\u30c3\u30af\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-37\">\u30d5\u30ea\u30c3\u30d7\u914d\u5217\u3092\u4f7f\u7528\u3057\u305f\u30eb\u30c3\u30af\u30a2\u30c3\u30d7<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>array_flip()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u914d\u5217\u306e\u5024\u3068\u30ad\u30fc\u3092\u5165\u308c\u66ff\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u5024\u3092\u30ad\u30fc\u3068\u3057\u3066\u4f7f\u7528\u3057\u3001<code>isset()<\/code>\u3067\u9ad8\u901f\u306b\u691c\u7d22\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$allowedRoles = ['admin', 'editor', 'author'];\n\n\/\/ \u5f93\u6765\u306e\u65b9\u6cd5\uff08\u7dda\u5f62\u63a2\u7d22 - O(n)\uff09\n$role = 'editor';\nif (in_array($role, $allowedRoles)) {\n    echo \"\u8a31\u53ef\u3055\u308c\u305f\u5f79\u5272\u3067\u3059\\n\";\n}\n\n\/\/ \u30d5\u30ea\u30c3\u30d7\u914d\u5217\u3092\u4f7f\u7528\u3057\u305f\u65b9\u6cd5\uff08\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u30eb\u30c3\u30af\u30a2\u30c3\u30d7 - O(1)\uff09\n$allowedLookup = array_flip($allowedRoles);\n\/\/ \u7d50\u679c: ['admin' =&gt; 0, 'editor' =&gt; 1, 'author' =&gt; 2]\n\nif (isset($allowedLookup[$role])) {\n    echo \"\u8a31\u53ef\u3055\u308c\u305f\u5f79\u5272\u3067\u3059\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-38\">\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u306e\u4f5c\u6210<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5225\u306e\u65b9\u6cd5\u3068\u3057\u3066\u3001<code>array_fill_keys()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u3001\u5143\u306e\u914d\u5217\u306e\u5024\u3092\u30ad\u30fc\u3068\u3059\u308b\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$fruits = ['apple', 'banana', 'orange'];\n\n\/\/ \u5024\u3092\u30ad\u30fc\u3068\u3059\u308b\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f5c\u6210\n$fruitsMap = array_fill_keys($fruits, true);\n\/\/ \u7d50\u679c: ['apple' =&gt; true, 'banana' =&gt; true, 'orange' =&gt; true]\n\n\/\/ isset()\u3067\u306e\u9ad8\u901f\u691c\u7d22\n$search = 'banana';\nif (isset($fruitsMap[$search])) {\n    echo \"\u30d0\u30ca\u30ca\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-39\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3057\u305f\u691c\u7d22\uff08<code>isset()<\/code>\uff09\u3068\u7dda\u5f62\u63a2\u7d22\uff08<code>in_array()<\/code>\uff09\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6bd4\u8f03\u3059\u308b\u3068\u3001\u7279\u306b\u5927\u898f\u6a21\u306a\u914d\u5217\u3067\u306f\u5927\u304d\u306a\u5dee\u304c\u51fa\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03\u30c6\u30b9\u30c8\nfunction comparePerformance($size) {\n    \/\/ \u30c6\u30b9\u30c8\u7528\u306e\u5927\u304d\u306a\u914d\u5217\u3092\u4f5c\u6210\n    $array = range(1, $size);\n    $needle = $size; \/\/ \u6700\u60aa\u306e\u30b1\u30fc\u30b9\uff08\u6700\u5f8c\u306e\u8981\u7d20\u3092\u691c\u7d22\uff09\n    \n    \/\/ array_flip\u306b\u3088\u308b\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f5c\u6210\n    $flipped = array_flip($array);\n    \n    \/\/ in_array()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6e2c\u5b9a\n    $start = microtime(true);\n    in_array($needle, $array);\n    $inArrayTime = microtime(true) - $start;\n    \n    \/\/ isset()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6e2c\u5b9a\n    $start = microtime(true);\n    isset($flipped[$needle]);\n    $issetTime = microtime(true) - $start;\n    \n    return [\n        'size' =&gt; $size,\n        'in_array' =&gt; $inArrayTime * 1000000, \/\/ \u30de\u30a4\u30af\u30ed\u79d2\u306b\u5909\u63db\n        'isset' =&gt; $issetTime * 1000000,\n        'speedup' =&gt; $inArrayTime \/ $issetTime\n    ];\n}\n\n\/\/ \u7570\u306a\u308b\u30b5\u30a4\u30ba\u3067\u30c6\u30b9\u30c8\n$results = [\n    comparePerformance(100),\n    comparePerformance(1000),\n    comparePerformance(10000),\n    comparePerformance(100000)\n];\n\n\/\/ \u7d50\u679c\u306e\u8868\u793a\nforeach ($results as $result) {\n    echo \"\u30b5\u30a4\u30ba: {$result['size']}\\n\";\n    echo \"in_array(): {$result['in_array']}\u03bcs\\n\";\n    echo \"isset(): {$result['isset']}\u03bcs\\n\";\n    echo \"\u9ad8\u901f\u5316\u7387: {$result['speedup']}\u500d\\n\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5178\u578b\u7684\u306a\u5b9f\u884c\u7d50\u679c\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\u30b5\u30a4\u30ba: 100\nin_array(): 0.5\u03bcs\nisset(): 0.2\u03bcs\n\u9ad8\u901f\u5316\u7387: 2.5\u500d\n\n\u30b5\u30a4\u30ba: 1000\nin_array(): 5\u03bcs\nisset(): 0.2\u03bcs\n\u9ad8\u901f\u5316\u7387: 25\u500d\n\n\u30b5\u30a4\u30ba: 10000\nin_array(): 50\u03bcs\nisset(): 0.2\u03bcs\n\u9ad8\u901f\u5316\u7387: 250\u500d\n\n\u30b5\u30a4\u30ba: 100000\nin_array(): 500\u03bcs\nisset(): 0.2\u03bcs\n\u9ad8\u901f\u5316\u7387: 2500\u500d\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3088\u3046\u306b\u3001\u914d\u5217\u306e\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u306a\u308b\u307b\u3069\u3001\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3057\u305f\u691c\u7d22\u306e\u512a\u4f4d\u6027\u306f\u9855\u8457\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-40\">isset()\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u6ce8\u610f\u70b9<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30ad\u30fc\u306e\u5236\u9650<\/strong>: PHP\u306e\u914d\u5217\u306e\u30ad\u30fc\u306b\u306f\u6587\u5b57\u5217\u307e\u305f\u306f\u6574\u6570\u3057\u304b\u4f7f\u7528\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u8907\u5408\u578b\u306e\u5024\uff08\u914d\u5217\u3084\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\uff09\u3092\u76f4\u63a5\u691c\u7d22\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li><strong>\u53b3\u5bc6\u306a\u578b\u6bd4\u8f03\u306e\u6b20\u5982<\/strong>: <code>isset()<\/code>\u306f\u53b3\u5bc6\u306a\u578b\u6bd4\u8f03\u3092\u884c\u308f\u306a\u3044\u305f\u3081\u3001<code>'123'<\/code>\u3068<code>123<\/code>\u306f\u540c\u3058\u30ad\u30fc\u3068\u3057\u3066\u6271\u308f\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u914d\u5217\u306e\u524d\u51e6\u7406<\/strong>: \u3053\u306e\u624b\u6cd5\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u691c\u7d22\u524d\u306b\u914d\u5217\u3092\u5909\u63db\uff08\u30d5\u30ea\u30c3\u30d7\u307e\u305f\u306f\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u5316\uff09\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf<\/strong>: \u8ffd\u52a0\u306e\u914d\u5217\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u3001\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u304c\u5897\u52a0\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-41\">\u5b9f\u52d9\u3067\u306e\u4f7f\u7528\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5c0f\u898f\u6a21\u306a\u914d\u5217<\/strong>\uff08\u6570\u767e\u8981\u7d20\u307e\u3067\uff09\u3067\u306f\u3001\u30b7\u30f3\u30d7\u30eb\u3055\u3092\u512a\u5148\u3057\u3066<code>in_array()<\/code>\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li><strong>\u4e2d\uff5e\u5927\u898f\u6a21\u306e\u914d\u5217<\/strong>\uff08\u6570\u767e\u8981\u7d20\u4ee5\u4e0a\uff09\u3067<strong>\u983b\u7e41\u306b\u691c\u7d22<\/strong>\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li><strong>\u9759\u7684\u306a\u30c7\u30fc\u30bf<\/strong>\uff08\u691c\u7d22\u4e2d\u306b\u5909\u66f4\u3055\u308c\u306a\u3044\u914d\u5217\uff09\u306b\u7279\u306b\u6709\u52b9<\/li>\n\n\n\n<li><strong>\u691c\u7d22\u64cd\u4f5c\u304c\u7e70\u308a\u8fd4\u3057\u884c\u308f\u308c\u308b<\/strong>\u5834\u5408\uff08\u30eb\u30fc\u30d7\u5185\u3067\u306e\u691c\u7d22\u306a\u3069\uff09\u306b\u5927\u304d\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5411\u4e0a\u304c\u671f\u5f85\u3067\u304d\u308b<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u52b9\u7387\u7684\u306a\u691c\u7d22\u7528\u306e\u30af\u30e9\u30b9\u4f8b\nclass FastLookup {\n    private $data = [];\n    private $lookup = [];\n    \n    public function __construct(array $initialData = []) {\n        $this-&gt;data = $initialData;\n        $this-&gt;refreshLookup();\n    }\n    \n    public function add($item) {\n        $this-&gt;data[] = $item;\n        end($this-&gt;data);\n        $key = key($this-&gt;data);\n        $this-&gt;lookup[$item] = $key;\n    }\n    \n    public function remove($item) {\n        $key = $this-&gt;indexOf($item);\n        if ($key !== false) {\n            unset($this-&gt;data[$key]);\n            $this-&gt;refreshLookup();\n        }\n    }\n    \n    public function contains($item) {\n        return isset($this-&gt;lookup[$item]);\n    }\n    \n    public function indexOf($item) {\n        return isset($this-&gt;lookup[$item]) ? $this-&gt;lookup[$item] : false;\n    }\n    \n    private function refreshLookup() {\n        $this-&gt;lookup = array_flip($this-&gt;data);\n    }\n    \n    public function getAll() {\n        return $this-&gt;data;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$roles = new FastLookup(['admin', 'editor', 'author']);\nvar_dump($roles-&gt;contains('editor')); \/\/ bool(true)\n$roles-&gt;add('contributor');\nvar_dump($roles-&gt;contains('contributor')); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-42\">\u30ab\u30b9\u30bf\u30e0\u691c\u7d22\u95a2\u6570\u306e\u5b9f\u88c5\u3068\u6d3b\u7528\u30b7\u30fc\u30f3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u52d9\u3067\u306f\u3001\u6a19\u6e96\u306e<code>in_array()<\/code>\u95a2\u6570\u3060\u3051\u3067\u306f\u5bfe\u5fdc\u3057\u304d\u308c\u306a\u3044\u8907\u96d1\u306a\u691c\u7d22\u8981\u4ef6\u304c\u767a\u751f\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u3088\u3046\u306a\u5834\u5408\u306b\u306f\u3001\u30ab\u30b9\u30bf\u30e0\u691c\u7d22\u95a2\u6570\u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u67d4\u8edf\u3067\u52b9\u7387\u7684\u306a\u51e6\u7406\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u3001\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u5f79\u7acb\u3064\u30ab\u30b9\u30bf\u30e0\u691c\u7d22\u95a2\u6570\u306e\u4f8b\u3092\u3044\u304f\u3064\u304b\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-43\">\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u691c\u7d22<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e6\u30fc\u30b6\u30fc\u540d\u3084\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306a\u3069\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u305b\u305a\u306b\u691c\u7d22\u3057\u305f\u3044\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u305b\u305a\u306b\u914d\u5217\u5185\u3092\u691c\u7d22\u3059\u308b\n * \n * @param string $needle \u691c\u7d22\u3059\u308b\u6587\u5b57\u5217\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_case_insensitive($needle, $haystack) {\n    return in_array(strtolower($needle), array_map('strtolower', $haystack));\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$users = ['Alice', 'Bob', 'Charlie'];\nvar_dump(in_array_case_insensitive('alice', $users)); \/\/ bool(true)\nvar_dump(in_array_case_insensitive('CHARLIE', $users)); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3088\u308a\u9ad8\u901f\u306a\u5b9f\u88c5\uff08\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u6d3b\u7528\uff09\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nfunction in_array_case_insensitive_fast($needle, $haystack) {\n    \/\/ \u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f5c\u6210\uff08\u5c0f\u6587\u5b57\u306b\u5909\u63db\uff09\n    static $cache = [];\n    $cacheKey = spl_object_hash((object)$haystack); \/\/ \u914d\u5217\u306e\u4e00\u610f\u306a\u8b58\u5225\u5b50\u3092\u4f5c\u6210\n    \n    if (!isset($cache[$cacheKey])) {\n        $cache[$cacheKey] = array_flip(array_map('strtolower', $haystack));\n    }\n    \n    return isset($cache[$cacheKey][strtolower($needle)]);\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-44\">\u90e8\u5206\u6587\u5b57\u5217\u691c\u7d22<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u6587\u5b57\u5217\u306e\u4e00\u90e8\u4e00\u81f4\u3092\u691c\u7d22\u3059\u308b\u5834\u5408\u306b\u4fbf\u5229\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u90e8\u5206\u6587\u5b57\u5217\u3067\u914d\u5217\u5185\u3092\u691c\u7d22\u3059\u308b\n * \n * @param string $needle \u691c\u7d22\u3059\u308b\u90e8\u5206\u6587\u5b57\u5217\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @param bool $caseSensitive \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3059\u308b\u304b\u3069\u3046\u304b\n * @return bool \u90e8\u5206\u4e00\u81f4\u3059\u308b\u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_partial($needle, $haystack, $caseSensitive = true) {\n    foreach ($haystack as $item) {\n        if (!is_string($item)) {\n            continue;\n        }\n        \n        if ($caseSensitive) {\n            if (strpos($item, $needle) !== false) {\n                return true;\n            }\n        } else {\n            if (stripos($item, $needle) !== false) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$domains = ['example.com', 'test.org', 'sample.net'];\nvar_dump(in_array_partial('example', $domains)); \/\/ bool(true)\nvar_dump(in_array_partial('ORG', $domains, false)); \/\/ bool(true) - \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-45\">\u591a\u6b21\u5143\u914d\u5217\u306e\u518d\u5e30\u7684\u691c\u7d22<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30cd\u30b9\u30c8\u3055\u308c\u305f\u914d\u5217\u69cb\u9020\u5185\u3067\u5024\u3092\u691c\u7d22\u3059\u308b\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u591a\u6b21\u5143\u914d\u5217\u5185\u3067\u5024\u3092\u518d\u5e30\u7684\u306b\u691c\u7d22\u3059\u308b\n * \n * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @param bool $strict \u53b3\u5bc6\u306b\u578b\u3092\u6bd4\u8f03\u3059\u308b\u304b\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_recursive($needle, $haystack, $strict = false) {\n    foreach ($haystack as $item) {\n        if (($strict ? $item === $needle : $item == $needle) || \n            (is_array($item) &amp;&amp; in_array_recursive($needle, $item, $strict))) {\n            return true;\n        }\n    }\n    return false;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$nested = [1, [2, 3], [[4, 5], 6]];\nvar_dump(in_array_recursive(5, $nested)); \/\/ bool(true)\nvar_dump(in_array_recursive(7, $nested)); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-46\">\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3\u3067\u306e\u691c\u7d22<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u914d\u5217\u304b\u3089\u7279\u5b9a\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u5024\u3092\u6301\u3064\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u691c\u7d22\u3059\u308b\u5834\u5408\u306b\u4fbf\u5229\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u914d\u5217\u304b\u3089\u7279\u5b9a\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u5024\u3092\u691c\u7d22\u3059\u308b\n * \n * @param mixed $needle \u691c\u7d22\u3059\u308b\u5024\n * @param array $objects \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u914d\u5217\n * @param string $property \u691c\u7d22\u3059\u308b\u30d7\u30ed\u30d1\u30c6\u30a3\u540d\n * @param bool $strict \u53b3\u5bc6\u306b\u578b\u3092\u6bd4\u8f03\u3059\u308b\u304b\n * @return bool \u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_object_property($needle, $objects, $property, $strict = true) {\n    foreach ($objects as $object) {\n        if (is_object($object) &amp;&amp; property_exists($object, $property)) {\n            if ($strict ? $object-&gt;$property === $needle : $object-&gt;$property == $needle) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\nclass User {\n    public $name;\n    public $role;\n    \n    public function __construct($name, $role) {\n        $this-&gt;name = $name;\n        $this-&gt;role = $role;\n    }\n}\n\n$users = [\n    new User('Alice', 'admin'),\n    new User('Bob', 'editor'),\n    new User('Charlie', 'user')\n];\n\nvar_dump(in_array_object_property('Bob', $users, 'name')); \/\/ bool(true)\nvar_dump(in_array_object_property('guest', $users, 'role')); \/\/ bool(false)\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-47\">\u6b63\u898f\u8868\u73fe\u306b\u3088\u308b\u691c\u7d22<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d1\u30bf\u30fc\u30f3\u30de\u30c3\u30c1\u30f3\u30b0\u304c\u5fc5\u8981\u306a\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3057\u3066\u914d\u5217\u5185\u3092\u691c\u7d22\u3059\u308b\n * \n * @param string $pattern \u691c\u7d22\u3059\u308b\u6b63\u898f\u8868\u73fe\u30d1\u30bf\u30fc\u30f3\n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @return bool \u4e00\u81f4\u3059\u308b\u5024\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_regex($pattern, $haystack) {\n    foreach ($haystack as $item) {\n        if (is_string($item) &amp;&amp; preg_match($pattern, $item)) {\n            return true;\n        }\n    }\n    return false;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$emails = ['alice@example.com', 'bob@test.org', 'charlie@sample.net'];\nvar_dump(in_array_regex('\/example\\\\.com$\/', $emails)); \/\/ bool(true) - example.com\u3067\u7d42\u308f\u308b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u691c\u7d22\nvar_dump(in_array_regex('\/^b\/', $emails)); \/\/ bool(true) - b\u3067\u59cb\u307e\u308b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u691c\u7d22\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-48\">\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3092\u4f7f\u7528\u3057\u305f\u6761\u4ef6\u691c\u7d22<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u8907\u96d1\u306a\u6761\u4ef6\u3067\u306e\u691c\u7d22\u304c\u5fc5\u8981\u306a\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306b\u3088\u308b\u6761\u4ef6\u691c\u7d22\n * \n * @param array $haystack \u691c\u7d22\u5bfe\u8c61\u306e\u914d\u5217\n * @param callable $callback \u5404\u8981\u7d20\u3092\u8a55\u4fa1\u3059\u308b\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\n * @return bool \u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u8981\u7d20\u304c\u898b\u3064\u304b\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction in_array_callback($haystack, $callback) {\n    foreach ($haystack as $item) {\n        if ($callback($item)) {\n            return true;\n        }\n    }\n    return false;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$numbers = [1, 5, 10, 15, 20];\n\n\/\/ 10\u3088\u308a\u5927\u304d\u3044\u5024\u3092\u691c\u7d22\n$result = in_array_callback($numbers, function($value) {\n    return $value &gt; 10;\n});\nvar_dump($result); \/\/ bool(true)\n\n\/\/ \u5076\u6570\u3092\u691c\u7d22\n$result = in_array_callback($numbers, function($value) {\n    return $value % 2 === 0;\n});\nvar_dump($result); \/\/ bool(true)\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-49\">\u5b9f\u52d9\u3067\u306e\u30ab\u30b9\u30bf\u30e0\u691c\u7d22\u95a2\u6570\u306e\u6d3b\u7528\u4f8b<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u30ab\u30b9\u30bf\u30e0\u691c\u7d22\u95a2\u6570\u306f\u3001\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b7\u30fc\u30f3\u3067\u6d3b\u7528\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c<\/strong>\uff1a\u30e6\u30fc\u30b6\u30fc\u540d\u3084\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u306a\u3044\u691c\u7d22<\/li>\n\n\n\n<li><strong>\u30b3\u30f3\u30c6\u30f3\u30c4\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0<\/strong>\uff1a\u7279\u5b9a\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u542b\u3080\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u691c\u51fa<\/li>\n\n\n\n<li><strong>\u6a29\u9650\u7ba1\u7406<\/strong>\uff1a\u8907\u96d1\u306a\u6a29\u9650\u69cb\u9020\u3067\u306e\u30a2\u30af\u30bb\u30b9\u30c1\u30a7\u30c3\u30af<\/li>\n\n\n\n<li><strong>\u30c7\u30fc\u30bf\u691c\u8a3c<\/strong>\uff1a\u5165\u529b\u5024\u306e\u691c\u8a3c\u3068\u30b5\u30cb\u30bf\u30a4\u30ba<\/li>\n\n\n\n<li><strong>\u30ec\u30dd\u30fc\u30c8\u751f\u6210<\/strong>\uff1a\u7279\u5b9a\u306e\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u30c7\u30fc\u30bf\u306e\u62bd\u51fa<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306f\u3001\u3053\u308c\u3089\u306e\u95a2\u6570\u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u4f7f\u7528\u3059\u308b\u5b9f\u8df5\u7684\u306a\u4f8b\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u8907\u5408\u7684\u306a\u6a29\u9650\u30c1\u30a7\u30c3\u30af\n * \n * @param string $resource \u30a2\u30af\u30bb\u30b9\u3059\u308b\u30ea\u30bd\u30fc\u30b9\n * @param string $action \u5b9f\u884c\u3059\u308b\u30a2\u30af\u30b7\u30e7\u30f3\n * @param array $userPermissions \u30e6\u30fc\u30b6\u30fc\u306e\u6a29\u9650\u914d\u5217\n * @return bool \u30a2\u30af\u30bb\u30b9\u304c\u8a31\u53ef\u3055\u308c\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction checkAccess($resource, $action, $userPermissions) {\n    \/\/ \u5b8c\u5168\u4e00\u81f4\u306e\u30c1\u30a7\u30c3\u30af\n    $exactPermission = \"{$resource}.{$action}\";\n    if (in_array($exactPermission, $userPermissions, true)) {\n        return true;\n    }\n    \n    \/\/ \u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u6a29\u9650\u306e\u30c1\u30a7\u30c3\u30af\uff08\u4f8b: \"blog.*\" \u306f blog \u306e\u3059\u3079\u3066\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u8a31\u53ef\uff09\n    $wildcardPermission = \"{$resource}.*\";\n    if (in_array($wildcardPermission, $userPermissions, true)) {\n        return true;\n    }\n    \n    \/\/ \u968e\u5c64\u7684\u30ea\u30bd\u30fc\u30b9\u306e\u30c1\u30a7\u30c3\u30af\uff08\u4f8b: \"admin.users.edit\" \u3067 \"admin.*\" \u3082\u8a31\u53ef\u3055\u308c\u308b\uff09\n    $parts = explode('.', $resource);\n    $current = '';\n    foreach ($parts as $part) {\n        $current .= ($current ? '.' : '') . $part;\n        $hierarchyPermission = \"{$current}.*\";\n        if (in_array($hierarchyPermission, $userPermissions, true)) {\n            return true;\n        }\n    }\n    \n    return false;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$userPermissions = [\n    'blog.read',\n    'blog.comment',\n    'admin.dashboard.*',\n    'user.*'\n];\n\nvar_dump(checkAccess('blog', 'read', $userPermissions)); \/\/ bool(true) - \u5b8c\u5168\u4e00\u81f4\nvar_dump(checkAccess('blog', 'edit', $userPermissions)); \/\/ bool(false) - \u8a31\u53ef\u3055\u308c\u3066\u3044\u306a\u3044\nvar_dump(checkAccess('admin.dashboard', 'view', $userPermissions)); \/\/ bool(true) - \u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u4e00\u81f4\nvar_dump(checkAccess('user', 'edit', $userPermissions)); \/\/ bool(true) - \u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u4e00\u81f4\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ab\u30b9\u30bf\u30e0\u691c\u7d22\u95a2\u6570\u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u3067\u3001PHP\u306e\u6a19\u6e96\u95a2\u6570\u306e\u5236\u9650\u3092\u8d85\u3048\u3066\u3001\u3088\u308a\u67d4\u8edf\u3067\u52b9\u7387\u7684\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u5b9f\u52d9\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u95a2\u6570\u3092\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9\u3084\u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u3057\u3066\u307e\u3068\u3081\u3066\u304a\u304f\u3068\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3067\u518d\u5229\u7528\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-50\">\u73fe\u5834\u3067\u6d3b\u304d\u308b\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u96c6<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306f\u3001\u62bd\u8c61\u7684\u306a\u6982\u5ff5\u3068\u3057\u3066\u7406\u89e3\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001\u5b9f\u969b\u306e\u958b\u767a\u73fe\u5834\u3067\u3069\u306e\u3088\u3046\u306b\u6d3b\u7528\u3055\u308c\u3066\u3044\u308b\u304b\u3092\u77e5\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u52b9\u679c\u7684\u306b\u4f7f\u3044\u3053\u306a\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5b9f\u52d9\u3067\u983b\u7e41\u306b\u906d\u9047\u3059\u308b\u5177\u4f53\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3068\u3001\u305d\u308c\u306b\u5bfe\u3059\u308b\u5b9f\u88c5\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-51\">\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u5024\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u5b9f\u88c5\u4f8b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u306b\u304a\u3044\u3066\u3001\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\u5024\u3092\u691c\u8a3c\uff08\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\uff09\u3059\u308b\u3053\u3068\u306f\u975e\u5e38\u306b\u91cd\u8981\u3067\u3059\u3002<code>in_array()<\/code>\u95a2\u6570\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u304c\u8a31\u5bb9\u3055\u308c\u308b\u5024\u306e\u7bc4\u56f2\u5185\u3067\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3059\u308b\u306e\u306b\u6700\u9069\u306a\u30c4\u30fc\u30eb\u306e\u4e00\u3064\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-52\">\u5358\u7d14\u306a\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u3088\u308b\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u3082\u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u304c\u4e8b\u524d\u306b\u5b9a\u7fa9\u3055\u308c\u305f\u8a31\u53ef\u30ea\u30b9\u30c8\uff08\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\uff09\u5185\u306b\u5b58\u5728\u3059\u308b\u304b\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b\u3053\u3068\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u30e6\u30fc\u30b6\u30fc\u5165\u529b\u304c\u8a31\u53ef\u3055\u308c\u305f\u5024\u306e\u30ea\u30b9\u30c8\u5185\u306b\u3042\u308b\u304b\u691c\u8a3c\u3059\u308b\n * \n * @param mixed $input \u30e6\u30fc\u30b6\u30fc\u5165\u529b\u5024\n * @param array $allowedValues \u8a31\u53ef\u3055\u308c\u305f\u5024\u306e\u914d\u5217\n * @return bool \u5165\u529b\u304c\u6709\u52b9\u3067\u3042\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction validateInput($input, $allowedValues) {\n    return in_array($input, $allowedValues, true);\n}\n\n\/\/ \u4f7f\u7528\u4f8b\uff1a\u30ab\u30e9\u30fc\u9078\u629e\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\n$allowedColors = ['red', 'green', 'blue', 'yellow', 'black', 'white'];\n$userColor = $_POST['color'] ?? '';\n\nif (validateInput($userColor, $allowedColors)) {\n    echo \"\u9078\u629e\u3055\u308c\u305f\u8272\u306f\u6709\u52b9\u3067\u3059\u3002\";\n} else {\n    echo \"\u30a8\u30e9\u30fc\uff1a\u7121\u52b9\u306a\u8272\u304c\u9078\u629e\u3055\u308c\u307e\u3057\u305f\u3002\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5358\u7d14\u306a\u5b9f\u88c5\u3067\u3082\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u4e0d\u6b63\u306a\u5024\u3092\u9001\u4fe1\u3059\u308b\u306e\u3092\u9632\u3050\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-53\">HTML\u30d5\u30a9\u30fc\u30e0\u306e\u9078\u629e\u80a2\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30bb\u30ec\u30af\u30c8\u30dc\u30c3\u30af\u30b9\uff08\u30c9\u30ed\u30c3\u30d7\u30c0\u30a6\u30f3\u30ea\u30b9\u30c8\uff09\u3084\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3\u306a\u3069\u3001HTML\u30d5\u30a9\u30fc\u30e0\u3067\u63d0\u4f9b\u3055\u308c\u308b\u9078\u629e\u80a2\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306b<code>in_array()<\/code>\u3092\u6d3b\u7528\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30d5\u30a9\u30fc\u30e0\u3067\u63d0\u4f9b\u3055\u308c\u308b\u9078\u629e\u80a2\n$availableRoles = [\n    'guest' =&gt; '\u30b2\u30b9\u30c8',\n    'member' =&gt; '\u4e00\u822c\u4f1a\u54e1',\n    'premium' =&gt; '\u30d7\u30ec\u30df\u30a2\u30e0\u4f1a\u54e1',\n    'admin' =&gt; '\u7ba1\u7406\u8005'\n];\n\n\/\/ HTML\u30d5\u30a9\u30fc\u30e0\u306e\u751f\u6210\uff08\u8868\u793a\u7528\uff09\necho '&lt;form method=\"POST\"&gt;';\necho '&lt;select name=\"role\"&gt;';\nforeach ($availableRoles as $value =&gt; $label) {\n    echo '&lt;option value=\"' . htmlspecialchars($value) . '\"&gt;' . htmlspecialchars($label) . '&lt;\/option&gt;';\n}\necho '&lt;\/select&gt;';\necho '&lt;button type=\"submit\"&gt;\u9001\u4fe1&lt;\/button&gt;';\necho '&lt;\/form&gt;';\n\n\/\/ \u30d5\u30a9\u30fc\u30e0\u9001\u4fe1\u6642\u306e\u51e6\u7406\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    $selectedRole = $_POST['role'] ?? '';\n    \n    \/\/ \u9078\u629e\u3055\u308c\u305f\u5024\u304c\u6709\u52b9\u304b\u3069\u3046\u304b\u3092\u691c\u8a3c\n    if (in_array($selectedRole, array_keys($availableRoles), true)) {\n        echo \"\u9078\u629e\u3055\u308c\u305f\u5f79\u5272\u300c{$availableRoles[$selectedRole]}\u300d\u306f\u6709\u52b9\u3067\u3059\u3002\";\n    } else {\n        echo \"\u30a8\u30e9\u30fc\uff1a\u7121\u52b9\u306a\u5f79\u5272\u304c\u9078\u629e\u3055\u308c\u307e\u3057\u305f\u3002\";\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001<code>array_keys()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u9078\u629e\u80a2\u306e\u30ad\u30fc\uff08\u5024\uff09\u306e\u914d\u5217\u3092\u53d6\u5f97\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u9078\u629e\u304c\u305d\u306e\u4e2d\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3092\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-54\">\u8907\u6570\u9078\u629e\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u30b0\u30eb\u30fc\u30d7\u306a\u3069\u3001\u8907\u6570\u306e\u5024\u304c\u9078\u629e\u3055\u308c\u308b\u5834\u5408\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3082<code>in_array()<\/code>\u3092\u4f7f\u3063\u3066\u52b9\u7387\u7684\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u5229\u7528\u53ef\u80fd\u306a\u8a00\u8a9e\n$availableLanguages = ['php', 'javascript', 'python', 'ruby', 'java', 'c#', 'go'];\n\n\/\/ HTML\u30d5\u30a9\u30fc\u30e0\u306e\u751f\u6210\uff08\u8868\u793a\u7528\uff09\necho '&lt;form method=\"POST\"&gt;';\necho '&lt;fieldset&gt;';\necho '&lt;legend&gt;\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\uff08\u8907\u6570\u9078\u629e\u53ef\uff09&lt;\/legend&gt;';\n\nforeach ($availableLanguages as $language) {\n    echo '&lt;label&gt;';\n    echo '&lt;input type=\"checkbox\" name=\"languages[]\" value=\"' . htmlspecialchars($language) . '\"&gt;';\n    echo htmlspecialchars(ucfirst($language));\n    echo '&lt;\/label&gt;&lt;br&gt;';\n}\n\necho '&lt;\/fieldset&gt;';\necho '&lt;button type=\"submit\"&gt;\u9001\u4fe1&lt;\/button&gt;';\necho '&lt;\/form&gt;';\n\n\/\/ \u30d5\u30a9\u30fc\u30e0\u9001\u4fe1\u6642\u306e\u51e6\u7406\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    $selectedLanguages = $_POST['languages'] ?? [];\n    $validLanguages = [];\n    $invalidLanguages = [];\n    \n    \/\/ \u5404\u9078\u629e\u9805\u76ee\u3092\u691c\u8a3c\n    foreach ($selectedLanguages as $language) {\n        if (in_array($language, $availableLanguages, true)) {\n            $validLanguages[] = $language;\n        } else {\n            $invalidLanguages[] = $language;\n        }\n    }\n    \n    if (empty($invalidLanguages)) {\n        echo \"\u9078\u629e\u3055\u308c\u305f\u8a00\u8a9e\u306f\u3059\u3079\u3066\u6709\u52b9\u3067\u3059\uff1a\" . implode(', ', $validLanguages);\n    } else {\n        echo \"\u8b66\u544a\uff1a\u4ee5\u4e0b\u306e\u7121\u52b9\u306a\u8a00\u8a9e\u304c\u9078\u629e\u3055\u308c\u307e\u3057\u305f\uff1a\" . implode(', ', $invalidLanguages);\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u9078\u629e\u3057\u305f\u5404\u8a00\u8a9e\u304c\u6709\u52b9\u304b\u3069\u3046\u304b\u3092\u500b\u5225\u306b\u691c\u8a3c\u3057\u3001\u7121\u52b9\u306a\u9078\u629e\u304c\u3042\u3063\u305f\u5834\u5408\u306f\u305d\u308c\u3092\u7279\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-55\">\u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u3068\u30ab\u30b9\u30bf\u30e0\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u3088\u308a\u8907\u96d1\u306a\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001<code>in_array()<\/code>\u3060\u3051\u3067\u306f\u4e0d\u5341\u5206\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001\u6570\u5024\u304c\u7279\u5b9a\u306e\u7bc4\u56f2\u5185\u306b\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306e\u4f8b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u6570\u5024\u304c\u8a31\u5bb9\u7bc4\u56f2\u5185\u306b\u3042\u308b\u304b\u3092\u691c\u8a3c\u3059\u308b\n * \n * @param int|float $value \u691c\u8a3c\u3059\u308b\u5024\n * @param int|float $min \u6700\u5c0f\u5024\n * @param int|float $max \u6700\u5927\u5024\n * @return bool \u5024\u304c\u7bc4\u56f2\u5185\u306b\u3042\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction validateRange($value, $min, $max) {\n    return $value &gt;= $min &amp;&amp; $value &lt;= $max;\n}\n\n\/**\n * \u8907\u5408\u7684\u306a\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\uff08\u56fa\u5b9a\u5024\u307e\u305f\u306f\u7bc4\u56f2\uff09\n * \n * @param mixed $value \u691c\u8a3c\u3059\u308b\u5024\n * @param array $allowedValues \u8a31\u53ef\u3055\u308c\u305f\u5024\u306e\u914d\u5217\n * @param array $allowedRanges \u8a31\u53ef\u3055\u308c\u305f\u7bc4\u56f2\u306e\u914d\u5217 [[min, max], ...]\n * @return bool \u5024\u304c\u6709\u52b9\u3067\u3042\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction validateComplex($value, array $allowedValues = [], array $allowedRanges = []) {\n    \/\/ \u5024\u304c\u6570\u5024\u3067\u306a\u3044\u5834\u5408\u306f\u56fa\u5b9a\u5024\u306e\u30ea\u30b9\u30c8\u3067\u306e\u307f\u691c\u8a3c\n    if (!is_numeric($value)) {\n        return in_array($value, $allowedValues, true);\n    }\n    \n    \/\/ \u6570\u5024\u306e\u5834\u5408\u3001\u56fa\u5b9a\u5024\u30ea\u30b9\u30c8\u3092\u30c1\u30a7\u30c3\u30af\n    if (in_array($value, $allowedValues, true)) {\n        return true;\n    }\n    \n    \/\/ \u6570\u5024\u306e\u5834\u5408\u3001\u7bc4\u56f2\u3082\u30c1\u30a7\u30c3\u30af\n    foreach ($allowedRanges as $range) {\n        if (validateRange($value, $range[0], $range[1])) {\n            return true;\n        }\n    }\n    \n    return false;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\uff1a\u5e74\u9f62\u306e\u691c\u8a3c\uff08\u7279\u5225\u306a\u5024\u307e\u305f\u306f\u7bc4\u56f2\uff09\n$allowedAges = [0]; \/\/ 0\u6b73\u306f\u7279\u5225\u306b\u8a31\u53ef\n$allowedRanges = [[18, 65]]; \/\/ 18\u301c65\u6b73\u306e\u7bc4\u56f2\u3092\u8a31\u53ef\n\n$userAge = $_POST['age'] ?? '';\n\nif (validateComplex($userAge, $allowedAges, $allowedRanges)) {\n    echo \"\u5e74\u9f62\u306f\u6709\u52b9\u3067\u3059\u3002\";\n} else {\n    echo \"\u30a8\u30e9\u30fc\uff1a\u5e74\u9f62\u306f0\u6b73\u3001\u307e\u305f\u306f18\u301c65\u6b73\u306e\u7bc4\u56f2\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001<code>in_array()<\/code>\u3092\u4f7f\u3063\u305f\u56fa\u5b9a\u5024\u306e\u30c1\u30a7\u30c3\u30af\u3068\u3001\u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u3088\u308a\u8907\u96d1\u306a\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-56\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u7d50\u679c\u306e\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u624b\u6cd5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u7d50\u679c\u30bb\u30c3\u30c8\u3092\u51e6\u7406\u3059\u308b\u969b\u306b\u3082\u3001<code>in_array()<\/code>\u95a2\u6570\u306f\u975e\u5e38\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u3001\u5b9f\u52d9\u3067\u4f7f\u7528\u3055\u308c\u308b\u4e00\u822c\u7684\u306a\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u624b\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-57\">\u5358\u7d14\u306a\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u7d50\u679c\u3092\u3001\u7279\u5b9a\u306e\u6761\u4ef6\u306b\u57fa\u3065\u3044\u3066\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\uff08\u4f8b\uff09\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');\n\n\/\/ \u5168\u30e6\u30fc\u30b6\u30fc\u3092\u53d6\u5f97\n$stmt = $pdo-&gt;query(\"SELECT id, name, role, status FROM users\");\n$users = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\n\/\/ \u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30e6\u30fc\u30b6\u30fc\u306e\u307f\u3092\u8868\u793a\u3057\u305f\u3044\n$activeStatuses = ['active', 'verified', 'premium'];\n\n$activeUsers = [];\nforeach ($users as $user) {\n    if (in_array($user['status'], $activeStatuses, true)) {\n        $activeUsers[] = $user;\n    }\n}\n\n\/\/ \u7d50\u679c\u306e\u8868\u793a\necho \"\u30a2\u30af\u30c6\u30a3\u30d6\u30e6\u30fc\u30b6\u30fc\u6570: \" . count($activeUsers) . \"\\n\";\nforeach ($activeUsers as $user) {\n    echo \"{$user['name']} ({$user['role']})\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u3059\u3079\u3066\u306e\u30e6\u30fc\u30b6\u30fc\u304b\u3089\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u7279\u5b9a\u306e\u5024\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u307f\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-58\">\u95a2\u9023\u30c7\u30fc\u30bf\u306e\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u8907\u6570\u306e\u30c6\u30fc\u30d6\u30eb\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u95a2\u9023\u4ed8\u3051\u3066\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\uff08\u4f8b\uff09\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');\n\n\/\/ \u7279\u5b9a\u306e\u30ab\u30c6\u30b4\u30ea\u306e\u307f\u8868\u793a\u3057\u305f\u3044\n$allowedCategories = [1, 3, 5]; \/\/ \u30ab\u30c6\u30b4\u30eaID\n\n\/\/ \u3059\u3079\u3066\u306e\u5546\u54c1\u3092\u53d6\u5f97\n$stmt = $pdo-&gt;query(\"SELECT id, name, price, category_id FROM products\");\n$products = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\n\/\/ \u8a31\u53ef\u3055\u308c\u305f\u30ab\u30c6\u30b4\u30ea\u306e\u5546\u54c1\u306e\u307f\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\n$filteredProducts = [];\nforeach ($products as $product) {\n    if (in_array($product['category_id'], $allowedCategories, true)) {\n        $filteredProducts[] = $product;\n    }\n}\n\n\/\/ \u7d50\u679c\u306e\u8868\u793a\necho \"\u8868\u793a\u53ef\u80fd\u306a\u5546\u54c1\u6570: \" . count($filteredProducts) . \"\\n\";\nforeach ($filteredProducts as $product) {\n    echo \"{$product['name']} - \u00a5{$product['price']}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u7279\u5b9a\u306e\u30ab\u30c6\u30b4\u30eaID\u306b\u5c5e\u3059\u308b\u5546\u54c1\u306e\u307f\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-59\">\u9664\u5916\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u7279\u5b9a\u306e\u5024\u3092\u9664\u5916\u3057\u3066\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\uff08\u4f8b\uff09\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');\n\n\/\/ \u9664\u5916\u3057\u305f\u3044\u30b9\u30c6\u30fc\u30bf\u30b9\n$excludedStatuses = ['deleted', 'banned', 'suspended'];\n\n\/\/ \u3059\u3079\u3066\u306e\u8a18\u4e8b\u3092\u53d6\u5f97\n$stmt = $pdo-&gt;query(\"SELECT id, title, author, status FROM articles\");\n$articles = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\n\/\/ \u9664\u5916\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u6301\u305f\u306a\u3044\u8a18\u4e8b\u306e\u307f\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\n$validArticles = [];\nforeach ($articles as $article) {\n    if (!in_array($article['status'], $excludedStatuses, true)) {\n        $validArticles[] = $article;\n    }\n}\n\n\/\/ \u7d50\u679c\u306e\u8868\u793a\necho \"\u8868\u793a\u53ef\u80fd\u306a\u8a18\u4e8b\u6570: \" . count($validArticles) . \"\\n\";\nforeach ($validArticles as $article) {\n    echo \"{$article['title']} by {$article['author']}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u7279\u5b9a\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u6301\u3064\u8a18\u4e8b\u3092\u9664\u5916\u3057\u3066\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-60\">\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u3092\u6271\u3046\u5834\u5408\u3001PHP\u3067\u306e\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3088\u308a\u3082SQL\u5074\u3067\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u65b9\u304c\u52b9\u7387\u7684\u3067\u3059\u3002\u3057\u304b\u3057\u3001\u52d5\u7684\u306a\u6761\u4ef6\u304c\u3042\u308b\u3068\u304d\u306f\u3001<code>in_array()<\/code>\u3068SQL\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u306e\u304c\u52b9\u679c\u7684\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\uff08\u4f8b\uff09\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u304c\u9078\u629e\u3057\u305f\u30ab\u30c6\u30b4\u30ea\uff08\u30d5\u30a9\u30fc\u30e0\u304b\u3089\u53d6\u5f97\uff09\n$selectedCategories = $_POST['categories'] ?? [];\n\n\/\/ \u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30ab\u30c6\u30b4\u30ea\n$allowedCategories = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n\n\/\/ \u6709\u52b9\u306a\u30ab\u30c6\u30b4\u30ea\u306e\u307f\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\n$validCategories = [];\nforeach ($selectedCategories as $category) {\n    if (in_array((int)$category, $allowedCategories, true)) {\n        $validCategories[] = (int)$category;\n    }\n}\n\n\/\/ \u6709\u52b9\u306a\u30ab\u30c6\u30b4\u30ea\u304c\u3042\u308b\u5834\u5408\u306e\u307f\u30af\u30a8\u30ea\u3092\u5b9f\u884c\nif (!empty($validCategories)) {\n    \/\/ \u30d7\u30ec\u30fc\u30b9\u30db\u30eb\u30c0\u30fc\u3092\u4f5c\u6210\n    $placeholders = implode(',', array_fill(0, count($validCategories), '?'));\n    \n    \/\/ \u30af\u30a8\u30ea\u3092\u4f5c\u6210\n    $sql = \"SELECT id, name, price FROM products WHERE category_id IN ($placeholders)\";\n    \n    \/\/ \u30af\u30a8\u30ea\u3092\u5b9f\u884c\n    $stmt = $pdo-&gt;prepare($sql);\n    $stmt-&gt;execute($validCategories);\n    $products = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n    \n    \/\/ \u7d50\u679c\u306e\u8868\u793a\n    foreach ($products as $product) {\n        echo \"{$product['name']} - \u00a5{$product['price']}\\n\";\n    }\n} else {\n    echo \"\u6709\u52b9\u306a\u30ab\u30c6\u30b4\u30ea\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u9078\u629e\u3057\u305f\u30ab\u30c6\u30b4\u30ea\u304c\u6709\u52b9\u304b\u3069\u3046\u304b\u3092<code>in_array()<\/code>\u3067\u30c1\u30a7\u30c3\u30af\u3057\u3001\u6709\u52b9\u306a\u30ab\u30c6\u30b4\u30ea\u306e\u307f\u3092\u4f7f\u3063\u3066SQL\u30af\u30a8\u30ea\u3092\u69cb\u7bc9\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u65b9\u6cd5\u306f\u3001SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u653b\u6483\u304b\u3089\u3082\u4fdd\u8b77\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-61\">\u6a29\u9650\u30c1\u30a7\u30c3\u30af\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u6d3b\u7528\u65b9\u6cd5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u6a29\u9650\u7ba1\u7406\uff08\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\uff09\u306f\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4e0a\u975e\u5e38\u306b\u91cd\u8981\u306a\u8981\u7d20\u3067\u3059\u3002<code>in_array()<\/code>\u95a2\u6570\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u6a29\u9650\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b\u30b7\u30f3\u30d7\u30eb\u306a\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-62\">\u57fa\u672c\u7684\u306a\u6a29\u9650\u30c1\u30a7\u30c3\u30af<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u3082\u5358\u7d14\u306a\u6a29\u9650\u30c1\u30a7\u30c3\u30af\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\uff08\u30ed\u30fc\u30eb\uff09\u304c\u7279\u5b9a\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3067\u304d\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u30e6\u30fc\u30b6\u30fc\u304c\u7279\u5b9a\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u6a29\u9650\u3092\u6301\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3059\u308b\n * \n * @param string $role \u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\n * @param string $action \u5b9f\u884c\u3059\u308b\u30a2\u30af\u30b7\u30e7\u30f3\n * @param array $permissions \u6a29\u9650\u8a2d\u5b9a\u306e\u914d\u5217\n * @return bool \u6a29\u9650\u304c\u3042\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n *\/\nfunction hasPermission($role, $action, $permissions) {\n    return isset($permissions[$action]) &amp;&amp; in_array($role, $permissions[$action], true);\n}\n\n\/\/ \u6a29\u9650\u8a2d\u5b9a\n$permissions = [\n    'view_post' =&gt; ['guest', 'member', 'editor', 'admin'],\n    'edit_post' =&gt; ['editor', 'admin'],\n    'delete_post' =&gt; ['admin'],\n    'manage_users' =&gt; ['admin']\n];\n\n\/\/ \u30bb\u30c3\u30b7\u30e7\u30f3\u304b\u3089\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\u3092\u53d6\u5f97\uff08\u4f8b\uff09\n$userRole = $_SESSION['user_role'] ?? 'guest';\n\n\/\/ \u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u306e\u4f8b\n$action = 'edit_post';\n\nif (hasPermission($userRole, $action, $permissions)) {\n    echo \"\u8a18\u4e8b\u306e\u7de8\u96c6\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u3059\u3002\";\n} else {\n    echo \"\u30a8\u30e9\u30fc\uff1a\u8a18\u4e8b\u3092\u7de8\u96c6\u3059\u308b\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093\u3002\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u5404\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u5bfe\u3057\u3066\u8a31\u53ef\u3055\u308c\u305f\u5f79\u5272\u306e\u30ea\u30b9\u30c8\u3092\u5b9a\u7fa9\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\u304c\u305d\u306e\u30ea\u30b9\u30c8\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092<code>in_array()<\/code>\u3067\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-63\">\u968e\u5c64\u7684\u306a\u6a29\u9650\u30b7\u30b9\u30c6\u30e0<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u3088\u308a\u8907\u96d1\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u968e\u5c64\u7684\u306a\u6a29\u9650\u30b7\u30b9\u30c6\u30e0\u304c\u5fc5\u8981\u306b\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u968e\u5c64\u7684\u306a\u6a29\u9650\u30c1\u30a7\u30c3\u30af\u30b7\u30b9\u30c6\u30e0\n *\/\nclass PermissionSystem {\n    \/\/ \u5f79\u5272\u306e\u968e\u5c64\uff08\u4e0a\u4f4d\u306e\u5f79\u5272\u306f\u4e0b\u4f4d\u306e\u5f79\u5272\u306e\u3059\u3079\u3066\u306e\u6a29\u9650\u3092\u7d99\u627f\uff09\n    private $roleHierarchy = [\n        'admin' =&gt; ['editor', 'member', 'guest'],\n        'editor' =&gt; ['member', 'guest'],\n        'member' =&gt; ['guest'],\n        'guest' =&gt; []\n    ];\n    \n    \/\/ \u30a2\u30af\u30b7\u30e7\u30f3\u3054\u3068\u306e\u5fc5\u8981\u6700\u5c0f\u6a29\u9650\n    private $actionPermissions = [\n        'view_post' =&gt; 'guest',\n        'comment_post' =&gt; 'member',\n        'edit_post' =&gt; 'editor',\n        'delete_post' =&gt; 'admin',\n        'manage_users' =&gt; 'admin'\n    ];\n    \n    \/**\n     * \u30e6\u30fc\u30b6\u30fc\u304c\u7279\u5b9a\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u6a29\u9650\u3092\u6301\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3059\u308b\n     * \n     * @param string $userRole \u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\n     * @param string $action \u5b9f\u884c\u3059\u308b\u30a2\u30af\u30b7\u30e7\u30f3\n     * @return bool \u6a29\u9650\u304c\u3042\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n     *\/\n    public function hasPermission($userRole, $action) {\n        \/\/ \u30a2\u30af\u30b7\u30e7\u30f3\u304c\u5b58\u5728\u3059\u308b\u304b\u78ba\u8a8d\n        if (!isset($this-&gt;actionPermissions[$action])) {\n            return false;\n        }\n        \n        \/\/ \u30a2\u30af\u30b7\u30e7\u30f3\u306b\u5fc5\u8981\u306a\u6700\u5c0f\u6a29\u9650\n        $requiredRole = $this-&gt;actionPermissions[$action];\n        \n        \/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\u304c\u5fc5\u8981\u306a\u5f79\u5272\u3068\u540c\u3058\u304b\u3001\u307e\u305f\u306f\u4e0a\u4f4d\u306e\u5f79\u5272\u3067\u3042\u308b\u5834\u5408\n        if ($userRole === $requiredRole) {\n            return true;\n        }\n        \n        \/\/ \u4e0a\u4f4d\u306e\u5f79\u5272\u306e\u30c1\u30a7\u30c3\u30af\uff08\u968e\u5c64\u3092\u305f\u3069\u308b\uff09\n        return in_array($requiredRole, $this-&gt;getInheritedRoles($userRole), true);\n    }\n    \n    \/**\n     * \u6307\u5b9a\u3055\u308c\u305f\u5f79\u5272\u304c\u7d99\u627f\u3059\u308b\u3059\u3079\u3066\u306e\u5f79\u5272\u3092\u53d6\u5f97\u3059\u308b\n     * \n     * @param string $role \u5f79\u5272\n     * @return array \u7d99\u627f\u3055\u308c\u308b\u5f79\u5272\u306e\u914d\u5217\n     *\/\n    private function getInheritedRoles($role) {\n        return $this-&gt;roleHierarchy[$role] ?? [];\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$permissionSystem = new PermissionSystem();\n\n\/\/ \u30bb\u30c3\u30b7\u30e7\u30f3\u304b\u3089\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\u3092\u53d6\u5f97\uff08\u4f8b\uff09\n$userRole = $_SESSION['user_role'] ?? 'guest';\n\n\/\/ \u8a18\u4e8b\u7de8\u96c6\u30da\u30fc\u30b8\u3078\u306e\u30a2\u30af\u30bb\u30b9\n$action = 'edit_post';\n\nif ($permissionSystem-&gt;hasPermission($userRole, $action)) {\n    echo \"\u8a18\u4e8b\u306e\u7de8\u96c6\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u3059\u3002\";\n} else {\n    echo \"\u30a8\u30e9\u30fc\uff1a\u8a18\u4e8b\u3092\u7de8\u96c6\u3059\u308b\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093\u3002\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u5f79\u5272\u306e\u968e\u5c64\u3092\u5b9a\u7fa9\u3057\u3001\u4e0a\u4f4d\u306e\u5f79\u5272\u304c\u4e0b\u4f4d\u306e\u5f79\u5272\u306e\u3059\u3079\u3066\u306e\u6a29\u9650\u3092\u7d99\u627f\u3059\u308b\u4ed5\u7d44\u307f\u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002<code>in_array()<\/code>\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\u304c\u7279\u5b9a\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u5fc5\u8981\u306a\u5f79\u5272\u3092\u7d99\u627f\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-64\">\u30ea\u30bd\u30fc\u30b9\u30d9\u30fc\u30b9\u306e\u6a29\u9650\u30c1\u30a7\u30c3\u30af<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u3088\u308a\u7d30\u304b\u3044\u7c92\u5ea6\u306e\u6a29\u9650\u5236\u5fa1\u304c\u5fc5\u8981\u306a\u5834\u5408\u3001\u30ea\u30bd\u30fc\u30b9\u30d9\u30fc\u30b9\u306e\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\uff08RBAC\uff09\u3092\u5b9f\u88c5\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * \u30ea\u30bd\u30fc\u30b9\u30d9\u30fc\u30b9\u306e\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u30b7\u30b9\u30c6\u30e0\n *\/\nclass RBACSystem {\n    \/\/ \u30e6\u30fc\u30b6\u30fc\u3054\u3068\u306e\u6a29\u9650\u30de\u30c3\u30d7\n    private $userPermissions = [];\n    \n    \/**\n     * \u30e6\u30fc\u30b6\u30fc\u306e\u6a29\u9650\u3092\u8a2d\u5b9a\u3059\u308b\n     * \n     * @param int $userId \u30e6\u30fc\u30b6\u30fcID\n     * @param array $permissions \u6a29\u9650\u306e\u914d\u5217\n     *\/\n    public function setUserPermissions($userId, $permissions) {\n        $this-&gt;userPermissions[$userId] = $permissions;\n    }\n    \n    \/**\n     * \u30e6\u30fc\u30b6\u30fc\u304c\u7279\u5b9a\u306e\u30ea\u30bd\u30fc\u30b9\u306b\u5bfe\u3059\u308b\u7279\u5b9a\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u6a29\u9650\u3092\u6301\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3059\u308b\n     * \n     * @param int $userId \u30e6\u30fc\u30b6\u30fcID\n     * @param string $resource \u30ea\u30bd\u30fc\u30b9\u8b58\u5225\u5b50\n     * @param string $action \u30a2\u30af\u30b7\u30e7\u30f3\n     * @return bool \u6a29\u9650\u304c\u3042\u308c\u3070true\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070false\n     *\/\n    public function hasPermission($userId, $resource, $action) {\n        \/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u6a29\u9650\u304c\u306a\u3044\u5834\u5408\n        if (!isset($this-&gt;userPermissions[$userId])) {\n            return false;\n        }\n        \n        $userPerms = $this-&gt;userPermissions[$userId];\n        \n        \/\/ \u5b8c\u5168\u306a\u6a29\u9650\u8b58\u5225\u5b50\n        $fullPermission = \"{$resource}.{$action}\";\n        \n        \/\/ \u7279\u5b9a\u306e\u30ea\u30bd\u30fc\u30b9\u3068\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u6a29\u9650\n        if (in_array($fullPermission, $userPerms, true)) {\n            return true;\n        }\n        \n        \/\/ \u30ea\u30bd\u30fc\u30b9\u5168\u4f53\u3078\u306e\u6a29\u9650\n        $resourcePermission = \"{$resource}.*\";\n        if (in_array($resourcePermission, $userPerms, true)) {\n            return true;\n        }\n        \n        \/\/ \u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u6a29\u9650\n        if (in_array(\"*.*\", $userPerms, true)) {\n            return true;\n        }\n        \n        return false;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$rbac = new RBACSystem();\n\n\/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u6a29\u9650\u3092\u8a2d\u5b9a\n$rbac-&gt;setUserPermissions(1, [\n    'post.view',\n    'post.comment',\n    'profile.*'  \/\/ \u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u64cd\u4f5c\n]);\n\n$rbac-&gt;setUserPermissions(2, [\n    'post.*',    \/\/ \u8a18\u4e8b\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u64cd\u4f5c\n    'user.view'\n]);\n\n$rbac-&gt;setUserPermissions(3, [\n    '*.*'        \/\/ \u3059\u3079\u3066\u306e\u64cd\u4f5c\uff08\u7ba1\u7406\u8005\uff09\n]);\n\n\/\/ \u30bb\u30c3\u30b7\u30e7\u30f3\u304b\u3089\u30e6\u30fc\u30b6\u30fcID\u3092\u53d6\u5f97\uff08\u4f8b\uff09\n$userId = $_SESSION['user_id'] ?? 0;\n\n\/\/ \u8a18\u4e8b\u524a\u9664\u306e\u6a29\u9650\u30c1\u30a7\u30c3\u30af\nif ($rbac-&gt;hasPermission($userId, 'post', 'delete')) {\n    echo \"\u8a18\u4e8b\u306e\u524a\u9664\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u3059\u3002\";\n} else {\n    echo \"\u30a8\u30e9\u30fc\uff1a\u8a18\u4e8b\u3092\u524a\u9664\u3059\u308b\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093\u3002\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u3067\u306f\u3001\u5404\u30e6\u30fc\u30b6\u30fc\u306b\u7279\u5b9a\u306e\u30ea\u30bd\u30fc\u30b9\u3068\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u5bfe\u3059\u308b\u6a29\u9650\u3092\u5272\u308a\u5f53\u3066\u3001<code>in_array()<\/code>\u3092\u4f7f\u3063\u3066\u3055\u307e\u3056\u307e\u306a\u30ec\u30d9\u30eb\u306e\u6a29\u9650\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u3002\u30ef\u30a4\u30eb\u30c9\u30ab\u30fc\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u67d4\u8edf\u306a\u6a29\u9650\u7ba1\u7406\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0a\u306e\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306f\u3001<code>in_array()<\/code>\u95a2\u6570\u304c\u5b9f\u52d9\u306e\u3055\u307e\u3056\u307e\u306a\u30b7\u30fc\u30f3\u3067\u3069\u306e\u3088\u3046\u306b\u6d3b\u7528\u3067\u304d\u308b\u304b\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u4f8b\u3092\u53c2\u8003\u306b\u3001\u81ea\u5206\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u305f\u5b9f\u88c5\u3092\u691c\u8a0e\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-65\">in_array\u95a2\u6570\u306e\u30c6\u30b9\u30c8\u624b\u6cd5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u9ad8\u54c1\u8cea\u306aPHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u30b3\u30fc\u30c9\u306e\u30c6\u30b9\u30c8\u304c\u4e0d\u53ef\u6b20\u3067\u3059\u3002<code>in_array()<\/code>\u95a2\u6570\u306e\u3088\u3046\u306a\u57fa\u672c\u7684\u306a\u6a5f\u80fd\u3082\u3001\u9069\u5207\u306b\u30c6\u30b9\u30c8\u3059\u308b\u3053\u3068\u3067\u3001\u4e88\u671f\u305b\u306c\u30d0\u30b0\u3092\u9632\u304e\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4fe1\u983c\u6027\u3092\u9ad8\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001<code>in_array()<\/code>\u95a2\u6570\u306e\u4f7f\u7528\u306b\u95a2\u3059\u308b\u30c6\u30b9\u30c8\u624b\u6cd5\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-66\">\u5358\u4f53\u30c6\u30b9\u30c8\u3067\u306e\u52b9\u679c\u7684\u306a\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u8a2d\u8a08<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PHP\u306e\u5358\u4f53\u30c6\u30b9\u30c8\u3067\u306f\u3001PHPUnit\u304c\u5e83\u304f\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002<code>in_array()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3057\u305f\u30b3\u30fc\u30c9\u306e\u5358\u4f53\u30c6\u30b9\u30c8\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u3092\u8003\u616e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-67\">\u57fa\u672c\u7684\u306a\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u8a2d\u8a08<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPUnit\\Framework\\TestCase;\n\nclass InArrayTest extends TestCase\n{\n    \/**\n     * \u57fa\u672c\u7684\u306a\u5b58\u5728\u30c1\u30a7\u30c3\u30af\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testBasicExistence()\n    {\n        $array = ['apple', 'banana', 'orange'];\n        \n        \/\/ \u5b58\u5728\u3059\u308b\u5024\u306e\u30c6\u30b9\u30c8\n        $this-&gt;assertTrue(in_array('banana', $array));\n        \n        \/\/ \u5b58\u5728\u3057\u306a\u3044\u5024\u306e\u30c6\u30b9\u30c8\n        $this-&gt;assertFalse(in_array('grape', $array));\n    }\n    \n    \/**\n     * \u53b3\u5bc6\u6bd4\u8f03\u3068\u7de9\u3084\u304b\u306a\u6bd4\u8f03\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testStrictComparison()\n    {\n        $array = [1, 2, 3];\n        \n        \/\/ \u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\n        $this-&gt;assertTrue(in_array('2', $array));\n        \n        \/\/ \u53b3\u5bc6\u6bd4\u8f03\n        $this-&gt;assertFalse(in_array('2', $array, true));\n        $this-&gt;assertTrue(in_array(2, $array, true));\n    }\n    \n    \/**\n     * \u30ab\u30b9\u30bf\u30e0\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u95a2\u6570\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testCustomValidationFunction()\n    {\n        \/\/ \u30c6\u30b9\u30c8\u5bfe\u8c61\u306e\u95a2\u6570\n        function validateInput($input, $allowedValues) {\n            return in_array($input, $allowedValues, true);\n        }\n        \n        $allowedValues = ['red', 'green', 'blue'];\n        \n        \/\/ \u6709\u52b9\u306a\u5165\u529b\n        $this-&gt;assertTrue(validateInput('red', $allowedValues));\n        \n        \/\/ \u7121\u52b9\u306a\u5165\u529b\n        $this-&gt;assertFalse(validateInput('yellow', $allowedValues));\n        \n        \/\/ \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306e\u533a\u5225\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u533a\u5225\u3055\u308c\u308b\uff09\n        $this-&gt;assertFalse(validateInput('RED', $allowedValues));\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30c6\u30b9\u30c8\u30af\u30e9\u30b9\u3067\u306f\u3001<code>in_array()<\/code>\u306e\u57fa\u672c\u7684\u306a\u6a5f\u80fd\u3092\u30c6\u30b9\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\u5b58\u5728\u3059\u308b\u5024\u3068\u5b58\u5728\u3057\u306a\u3044\u5024\u306e\u4e21\u65b9\u3092\u30c6\u30b9\u30c8\u3057\u3001\u53b3\u5bc6\u6bd4\u8f03\u3068\u7de9\u3084\u304b\u306a\u6bd4\u8f03\u306e\u9055\u3044\u3082\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-68\">\u30e2\u30c3\u30af\u3068\u30b9\u30bf\u30d6\u3092\u4f7f\u7528\u3057\u305f\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u969b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001<code>in_array()<\/code>\u306f\u4ed6\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u7d44\u307f\u5408\u308f\u305b\u3066\u4f7f\u7528\u3055\u308c\u308b\u3053\u3068\u304c\u591a\u3044\u305f\u3081\u3001\u30e2\u30c3\u30af\u3084\u30b9\u30bf\u30d6\u3092\u4f7f\u7528\u3057\u305f\u30c6\u30b9\u30c8\u304c\u6709\u52b9\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPUnit\\Framework\\TestCase;\n\n\/**\n * \u6a29\u9650\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\u30af\u30e9\u30b9\n *\/\nclass PermissionChecker\n{\n    private $permissionProvider;\n    \n    public function __construct($permissionProvider)\n    {\n        $this-&gt;permissionProvider = $permissionProvider;\n    }\n    \n    \/**\n     * \u30e6\u30fc\u30b6\u30fc\u304c\u7279\u5b9a\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u6a29\u9650\u3092\u6301\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3059\u308b\n     *\/\n    public function hasPermission($userId, $action)\n    {\n        $userRoles = $this-&gt;permissionProvider-&gt;getUserRoles($userId);\n        $allowedRoles = $this-&gt;permissionProvider-&gt;getAllowedRoles($action);\n        \n        foreach ($userRoles as $role) {\n            if (in_array($role, $allowedRoles, true)) {\n                return true;\n            }\n        }\n        \n        return false;\n    }\n}\n\n\/**\n * \u6a29\u9650\u30c1\u30a7\u30c3\u30ab\u30fc\u306e\u30c6\u30b9\u30c8\n *\/\nclass PermissionCheckerTest extends TestCase\n{\n    public function testHasPermission()\n    {\n        \/\/ \u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u30e2\u30c3\u30af\u3092\u4f5c\u6210\n        $permissionProvider = $this-&gt;createMock(PermissionProviderInterface::class);\n        \n        \/\/ getUserRoles\u30e1\u30bd\u30c3\u30c9\u306e\u632f\u308b\u821e\u3044\u3092\u8a2d\u5b9a\n        $permissionProvider-&gt;method('getUserRoles')\n            -&gt;with(123) \/\/ \u30e6\u30fc\u30b6\u30fcID\n            -&gt;willReturn(['editor', 'member']); \/\/ \u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u5272\n        \n        \/\/ getAllowedRoles\u30e1\u30bd\u30c3\u30c9\u306e\u632f\u308b\u821e\u3044\u3092\u8a2d\u5b9a\n        $permissionProvider-&gt;method('getAllowedRoles')\n            -&gt;willReturnMap([\n                ['view_post', ['guest', 'member', 'editor', 'admin']],\n                ['edit_post', ['editor', 'admin']],\n                ['delete_post', ['admin']]\n            ]);\n        \n        \/\/ \u30c6\u30b9\u30c8\u5bfe\u8c61\u306e\u30af\u30e9\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\n        $checker = new PermissionChecker($permissionProvider);\n        \n        \/\/ \u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\n        $this-&gt;assertTrue($checker-&gt;hasPermission(123, 'view_post')); \/\/ \u8a31\u53ef\u3055\u308c\u308b\n        $this-&gt;assertTrue($checker-&gt;hasPermission(123, 'edit_post')); \/\/ \u8a31\u53ef\u3055\u308c\u308b\n        $this-&gt;assertFalse($checker-&gt;hasPermission(123, 'delete_post')); \/\/ \u8a31\u53ef\u3055\u308c\u306a\u3044\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30c6\u30b9\u30c8\u3067\u306f\u3001\u6a29\u9650\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\u30af\u30e9\u30b9\u3092\u30c6\u30b9\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<code>in_array()<\/code>\u95a2\u6570\u3092\u76f4\u63a5\u30c6\u30b9\u30c8\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u305d\u306e\u95a2\u6570\u3092\u4f7f\u7528\u3057\u305f\u30ed\u30b8\u30c3\u30af\u304c\u6b63\u3057\u304f\u52d5\u4f5c\u3059\u308b\u3053\u3068\u3092\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-69\">\u30c7\u30fc\u30bf\u30d7\u30ed\u30d0\u30a4\u30c0\u3092\u4f7f\u7528\u3057\u305f\u591a\u69d8\u306a\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u7570\u306a\u308b\u5165\u529b\u5024\u306b\u5bfe\u3057\u3066\u540c\u3058\u30c6\u30b9\u30c8\u30ed\u30b8\u30c3\u30af\u3092\u9069\u7528\u3059\u308b\u5834\u5408\u3001PHPUnit\u306e\u30c7\u30fc\u30bf\u30d7\u30ed\u30d0\u30a4\u30c0\u6a5f\u80fd\u304c\u4fbf\u5229\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPUnit\\Framework\\TestCase;\n\nclass InArrayAdvancedTest extends TestCase\n{\n    \/**\n     * \u578b\u5909\u63db\u306b\u95a2\u9023\u3059\u308b\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9\u306e\u30c7\u30fc\u30bf\u30d7\u30ed\u30d0\u30a4\u30c0\n     *\/\n    public function typeConversionProvider()\n    {\n        return [\n            'stringToInt' =&gt; [\n                'needle' =&gt; '2',\n                'haystack' =&gt; [1, 2, 3],\n                'strict' =&gt; false,\n                'expected' =&gt; true\n            ],\n            'stringToIntStrict' =&gt; [\n                'needle' =&gt; '2',\n                'haystack' =&gt; [1, 2, 3],\n                'strict' =&gt; true,\n                'expected' =&gt; false\n            ],\n            'nullToZero' =&gt; [\n                'needle' =&gt; null,\n                'haystack' =&gt; [0, 1, 2],\n                'strict' =&gt; false,\n                'expected' =&gt; true\n            ],\n            'nullToZeroStrict' =&gt; [\n                'needle' =&gt; null,\n                'haystack' =&gt; [0, 1, 2],\n                'strict' =&gt; true,\n                'expected' =&gt; false\n            ],\n            'emptyStringToZero' =&gt; [\n                'needle' =&gt; '',\n                'haystack' =&gt; [0, 1, 2],\n                'strict' =&gt; false,\n                'expected' =&gt; true\n            ],\n            'emptyStringToZeroStrict' =&gt; [\n                'needle' =&gt; '',\n                'haystack' =&gt; [0, 1, 2],\n                'strict' =&gt; true,\n                'expected' =&gt; false\n            ],\n            'boolToInt' =&gt; [\n                'needle' =&gt; true,\n                'haystack' =&gt; [0, 1, 2],\n                'strict' =&gt; false,\n                'expected' =&gt; true\n            ],\n            'boolToIntStrict' =&gt; [\n                'needle' =&gt; true,\n                'haystack' =&gt; [0, 1, 2],\n                'strict' =&gt; true,\n                'expected' =&gt; false\n            ],\n            'caseInsensitiveString' =&gt; [\n                'needle' =&gt; 'APPLE',\n                'haystack' =&gt; ['apple', 'banana', 'orange'],\n                'strict' =&gt; false,\n                'expected' =&gt; false \/\/ \u5927\u6587\u5b57\u5c0f\u6587\u5b57\u306f\u533a\u5225\u3055\u308c\u308b\n            ]\n        ];\n    }\n    \n    \/**\n     * @dataProvider typeConversionProvider\n     *\/\n    public function testTypeConversion($needle, $haystack, $strict, $expected)\n    {\n        $result = in_array($needle, $haystack, $strict);\n        $this-&gt;assertSame($expected, $result, \n            \"in_array({$this-&gt;valueToString($needle)}, \" . \n            $this-&gt;arrayToString($haystack) . \", \" . \n            ($strict ? 'true' : 'false') . \") \" .\n            \"should return \" . ($expected ? 'true' : 'false')\n        );\n    }\n    \n    \/**\n     * \u30c6\u30b9\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8\u7528\u306b\u5024\u3092\u6587\u5b57\u5217\u306b\u5909\u63db\n     *\/\n    private function valueToString($value)\n    {\n        if (is_null($value)) {\n            return 'null';\n        } elseif (is_bool($value)) {\n            return $value ? 'true' : 'false';\n        } elseif (is_string($value)) {\n            return '\"' . $value . '\"';\n        } else {\n            return (string)$value;\n        }\n    }\n    \n    \/**\n     * \u30c6\u30b9\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8\u7528\u306b\u914d\u5217\u3092\u6587\u5b57\u5217\u306b\u5909\u63db\n     *\/\n    private function arrayToString($array)\n    {\n        $items = [];\n        foreach ($array as $item) {\n            $items[] = $this-&gt;valueToString($item);\n        }\n        return '[' . implode(', ', $items) . ']';\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30c6\u30b9\u30c8\u3067\u306f\u3001\u69d8\u3005\u306a\u578b\u5909\u63db\u306e\u30b1\u30fc\u30b9\u3092\u30c7\u30fc\u30bf\u30d7\u30ed\u30d0\u30a4\u30c0\u3067\u5b9a\u7fa9\u3057\u3001\u305d\u308c\u305e\u308c\u306e\u30b1\u30fc\u30b9\u3067<code>in_array()<\/code>\u304c\u671f\u5f85\u901a\u308a\u306e\u7d50\u679c\u3092\u8fd4\u3059\u304b\u3069\u3046\u304b\u3092\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u3002\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3082\u8a73\u7d30\u306b\u69cb\u6210\u3059\u308b\u3053\u3068\u3067\u3001\u30c6\u30b9\u30c8\u304c\u5931\u6557\u3057\u305f\u5834\u5408\u306b\u539f\u56e0\u3092\u7279\u5b9a\u3057\u3084\u3059\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-70\">\u30a8\u30c3\u30b8\u30b1\u30fc\u30b9\u3092\u8003\u616e\u3057\u305f\u30c6\u30b9\u30c8\u306e\u66f8\u304d\u65b9<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\u969b\u3001\u7279\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u306a\u30a8\u30c3\u30b8\u30b1\u30fc\u30b9\u304c\u3044\u304f\u3064\u304b\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30b1\u30fc\u30b9\u3092\u9069\u5207\u306b\u30c6\u30b9\u30c8\u3059\u308b\u3053\u3068\u3067\u3001\u4e88\u671f\u305b\u306c\u52d5\u4f5c\u3092\u9632\u3050\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-71\">\u7a7a\u306e\u914d\u5217\u3001\u7279\u6b8a\u306a\u5024\u3001\u5927\u898f\u6a21\u914d\u5217\u306e\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPUnit\\Framework\\TestCase;\n\nclass InArrayEdgeCasesTest extends TestCase\n{\n    \/**\n     * \u7a7a\u306e\u914d\u5217\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testEmptyArray()\n    {\n        $emptyArray = [];\n        \n        \/\/ \u7a7a\u306e\u914d\u5217\u3067\u306e\u691c\u7d22\u306f\u5e38\u306bfalse\u3092\u8fd4\u3059\n        $this-&gt;assertFalse(in_array('anything', $emptyArray));\n        $this-&gt;assertFalse(in_array(null, $emptyArray));\n        $this-&gt;assertFalse(in_array(0, $emptyArray));\n    }\n    \n    \/**\n     * \u7279\u6b8a\u306a\u5024\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testSpecialValues()\n    {\n        \/\/ 0\u3001false\u3001null\u3001\u7a7a\u6587\u5b57\u5217\u306a\u3069\u306e\u7279\u6b8a\u306a\u5024\n        $specialValues = [0, false, null, ''];\n        \n        \/\/ \u3053\u308c\u3089\u306e\u5024\u306f\u7de9\u3084\u304b\u306a\u6bd4\u8f03\u3067\u306f\u7b49\u3057\u3044\u3068\u5224\u65ad\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\n        $this-&gt;assertTrue(in_array(0, $specialValues));\n        $this-&gt;assertTrue(in_array(false, $specialValues));\n        $this-&gt;assertTrue(in_array(null, $specialValues));\n        $this-&gt;assertTrue(in_array('', $specialValues));\n        \n        \/\/ \u53b3\u5bc6\u6bd4\u8f03\u3067\u306f\u3001\u5b9f\u969b\u306b\u914d\u5217\u306b\u5b58\u5728\u3059\u308b\u5024\u306e\u307ftrue\u3092\u8fd4\u3059\n        $this-&gt;assertTrue(in_array(0, $specialValues, true));\n        $this-&gt;assertTrue(in_array(false, $specialValues, true));\n        $this-&gt;assertTrue(in_array(null, $specialValues, true));\n        $this-&gt;assertTrue(in_array('', $specialValues, true));\n        \n        \/\/ 0\u3068false\u306f\u53b3\u5bc6\u6bd4\u8f03\u3067\u306f\u533a\u5225\u3055\u308c\u308b\n        $this-&gt;assertFalse(in_array(0, [false], true));\n        $this-&gt;assertFalse(in_array(false, [0], true));\n        \n        \/\/ null\u3068\u7a7a\u6587\u5b57\u5217\u3082\u53b3\u5bc6\u6bd4\u8f03\u3067\u306f\u533a\u5225\u3055\u308c\u308b\n        $this-&gt;assertFalse(in_array(null, [''], true));\n        $this-&gt;assertFalse(in_array('', [null], true));\n    }\n    \n    \/**\n     * \u5927\u898f\u6a21\u914d\u5217\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testLargeArray()\n    {\n        \/\/ \u5927\u898f\u6a21\u306a\u914d\u5217\u3092\u751f\u6210\n        $largeArray = range(1, 10000);\n        \n        \/\/ \u914d\u5217\u306e\u5148\u982d\u3001\u4e2d\u592e\u3001\u672b\u5c3e\u306e\u8981\u7d20\u3092\u30c6\u30b9\u30c8\n        $this-&gt;assertTrue(in_array(1, $largeArray));\n        $this-&gt;assertTrue(in_array(5000, $largeArray));\n        $this-&gt;assertTrue(in_array(10000, $largeArray));\n        \n        \/\/ \u5b58\u5728\u3057\u306a\u3044\u5024\u306e\u30c6\u30b9\u30c8\n        $this-&gt;assertFalse(in_array(10001, $largeArray));\n        \n        \/\/ \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u30c6\u30b9\u30c8\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09\n        $startTime = microtime(true);\n        in_array(10000, $largeArray); \/\/ \u6700\u60aa\u306e\u30b1\u30fc\u30b9\uff08\u672b\u5c3e\u306e\u8981\u7d20\uff09\n        $endTime = microtime(true);\n        $executionTime = $endTime - $startTime;\n        \n        \/\/ \u5b9f\u884c\u6642\u9593\u304c\u8a31\u5bb9\u7bc4\u56f2\u5185\u304b\u30c1\u30a7\u30c3\u30af\uff08\u74b0\u5883\u306b\u3088\u3063\u3066\u8abf\u6574\u304c\u5fc5\u8981\uff09\n        $this-&gt;assertLessThan(0.01, $executionTime, \n            \"Large array search took too long: {$executionTime} seconds\");\n    }\n    \n    \/**\n     * \u591a\u6b21\u5143\u914d\u5217\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testMultidimensionalArray()\n    {\n        $multiArray = [1, [2, 3], [4, [5, 6]]];\n        \n        \/\/ \u6a19\u6e96\u306ein_array()\u306f\u6700\u4e0a\u4f4d\u30ec\u30d9\u30eb\u306e\u8981\u7d20\u306e\u307f\u3092\u691c\u7d22\n        $this-&gt;assertTrue(in_array(1, $multiArray));\n        $this-&gt;assertTrue(in_array([2, 3], $multiArray));\n        $this-&gt;assertFalse(in_array(2, $multiArray)); \/\/ \u30cd\u30b9\u30c8\u3055\u308c\u305f\u8981\u7d20\u306f\u898b\u3064\u304b\u3089\u306a\u3044\n        $this-&gt;assertFalse(in_array(5, $multiArray)); \/\/ \u6df1\u304f\u30cd\u30b9\u30c8\u3055\u308c\u305f\u8981\u7d20\u3082\u898b\u3064\u304b\u3089\u306a\u3044\n        \n        \/\/ \u30ab\u30b9\u30bf\u30e0\u95a2\u6570\u3067\u518d\u5e30\u7684\u306b\u691c\u7d22\n        function in_array_recursive($needle, $haystack) {\n            foreach ($haystack as $value) {\n                if ($value === $needle || (is_array($value) &amp;&amp; in_array_recursive($needle, $value))) {\n                    return true;\n                }\n            }\n            return false;\n        }\n        \n        $this-&gt;assertTrue(in_array_recursive(2, $multiArray));\n        $this-&gt;assertTrue(in_array_recursive(5, $multiArray));\n        $this-&gt;assertFalse(in_array_recursive(7, $multiArray));\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30c6\u30b9\u30c8\u30af\u30e9\u30b9\u3067\u306f\u3001\u7a7a\u306e\u914d\u5217\u3001\u7279\u6b8a\u306a\u5024\uff080\u3001false\u3001null\u3001\u7a7a\u6587\u5b57\u5217\uff09\u3001\u5927\u898f\u6a21\u914d\u5217\u3001\u591a\u6b21\u5143\u914d\u5217\u306a\u3069\u3001\u69d8\u3005\u306a\u30a8\u30c3\u30b8\u30b1\u30fc\u30b9\u306b\u5bfe\u3059\u308b<code>in_array()<\/code>\u306e\u52d5\u4f5c\u3092\u30c6\u30b9\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u5927\u898f\u6a21\u914d\u5217\u3067\u306e\u691c\u7d22\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3082\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-72\">\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u95a2\u9023\u3059\u308b\u30c6\u30b9\u30c8\u30b1\u30fc\u30b9<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u95a2\u308f\u308b\u30b3\u30fc\u30c9\u3067\u306f\u3001\u7279\u306b\u53b3\u5bc6\u306a\u30c6\u30b9\u30c8\u304c\u5fc5\u8981\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPUnit\\Framework\\TestCase;\n\nclass InArraySecurityTest extends TestCase\n{\n    \/**\n     * \u30e6\u30fc\u30b6\u30fc\u5165\u529b\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30c6\u30b9\u30c8\n     *\/\n    public function testUserInputValidation()\n    {\n        \/\/ \u8a31\u53ef\u3055\u308c\u305f\u5024\u306e\u30ea\u30b9\u30c8\n        $allowedValues = ['admin', 'editor', 'author'];\n        \n        \/\/ \u6b63\u898f\u306e\u5165\u529b\u5024\n        $this-&gt;assertTrue(in_array('admin', $allowedValues, true));\n        \n        \/\/ \u4e0d\u6b63\u306a\u5165\u529b\u5024\n        $this-&gt;assertFalse(in_array('hacker', $allowedValues, true));\n        \n        \/\/ \u578b\u306e\u4e0d\u4e00\u81f4\u3092\u5229\u7528\u3057\u305f\u653b\u6483\u3092\u9632\u3050\n        $this-&gt;assertFalse(in_array(0, $allowedValues, true)); \/\/ \u53b3\u5bc6\u6bd4\u8f03\u3067\u9632\u6b62\n        $this-&gt;assertFalse(in_array('0', $allowedValues, true)); \/\/ \u53b3\u5bc6\u6bd4\u8f03\u3067\u9632\u6b62\n        \n        \/\/ \u5b89\u5168\u3067\u306a\u3044\u30b3\u30fc\u30c9\uff08\u8b66\u544a\u4f8b\uff09\n        $this-&gt;assertFalse(in_array('admin', $allowedValues) !== \n                         in_array('admin', $allowedValues, true),\n            \"\u53b3\u5bc6\u6bd4\u8f03\u3068\u7de9\u3084\u304b\u306a\u6bd4\u8f03\u3067\u7d50\u679c\u304c\u7570\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\");\n    }\n    \n    \/**\n     * \u6a29\u9650\u30c1\u30a7\u30c3\u30af\u306e\u30c6\u30b9\u30c8\n     *\/\n    public function testPermissionChecking()\n    {\n        \/\/ \u6a29\u9650\u30c1\u30a7\u30c3\u30af\u95a2\u6570\n        function checkPermission($action, $userRole, $permissions) {\n            return isset($permissions[$action]) &amp;&amp; \n                   in_array($userRole, $permissions[$action], true);\n        }\n        \n        \/\/ \u6a29\u9650\u8a2d\u5b9a\n        $permissions = [\n            'view' =&gt; ['guest', 'user', 'editor', 'admin'],\n            'edit' =&gt; ['editor', 'admin'],\n            'delete' =&gt; ['admin']\n        ];\n        \n        \/\/ \u8a31\u53ef\u3055\u308c\u305f\u30a2\u30af\u30b7\u30e7\u30f3\n        $this-&gt;assertTrue(checkPermission('view', 'guest', $permissions));\n        $this-&gt;assertTrue(checkPermission('edit', 'editor', $permissions));\n        $this-&gt;assertTrue(checkPermission('delete', 'admin', $permissions));\n        \n        \/\/ \u8a31\u53ef\u3055\u308c\u3066\u3044\u306a\u3044\u30a2\u30af\u30b7\u30e7\u30f3\n        $this-&gt;assertFalse(checkPermission('edit', 'guest', $permissions));\n        $this-&gt;assertFalse(checkPermission('delete', 'editor', $permissions));\n        \n        \/\/ \u4e0d\u6b63\u306a\u30a2\u30af\u30b7\u30e7\u30f3\n        $this-&gt;assertFalse(checkPermission('nonexistent', 'admin', $permissions));\n        \n        \/\/ \u4e0d\u6b63\u306a\u30ed\u30fc\u30eb\n        $this-&gt;assertFalse(checkPermission('view', 'hacker', $permissions));\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30c6\u30b9\u30c8\u3067\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3084\u6a29\u9650\u30c1\u30a7\u30c3\u30af\u306a\u3069\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u95a2\u9023\u3059\u308b<code>in_array()<\/code>\u306e\u4f7f\u7528\u4f8b\u3092\u30c6\u30b9\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\u7279\u306b\u3001\u53b3\u5bc6\u6bd4\u8f03\uff08<code>$strict = true<\/code>\uff09\u306e\u91cd\u8981\u6027\u3092\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-73\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8\u306e\u5b9f\u88c5\u65b9\u6cd5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>in_array()<\/code>\u95a2\u6570\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u30c6\u30b9\u30c8\u3059\u308b\u3053\u3068\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u7279\u5b9a\u3057\u3001\u6700\u9069\u5316\u306e\u52b9\u679c\u3092\u6e2c\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-74\">\u57fa\u672c\u7684\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\/**\n * in_array()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8\n *\/\nclass InArrayPerformanceTest\n{\n    \/**\n     * \u914d\u5217\u30b5\u30a4\u30ba\u306b\u3088\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6e2c\u5b9a\n     * \n     * @param int $size \u914d\u5217\u30b5\u30a4\u30ba\n     * @param bool $strict \u53b3\u5bc6\u6bd4\u8f03\u3092\u4f7f\u7528\u3059\u308b\u304b\n     * @param string $position \u691c\u7d22\u5024\u306e\u4f4d\u7f6e\uff08first, middle, last, none\uff09\n     * @return array \u6e2c\u5b9a\u7d50\u679c\n     *\/\n    public function testPerformanceBySize($size, $strict = false, $position = 'last')\n    {\n        \/\/ \u30c6\u30b9\u30c8\u7528\u306e\u914d\u5217\u3092\u751f\u6210\n        $array = range(1, $size);\n        \n        \/\/ \u691c\u7d22\u3059\u308b\u5024\u3092\u8a2d\u5b9a\n        switch ($position) {\n            case 'first':\n                $needle = 1;\n                break;\n            case 'middle':\n                $needle = (int)($size \/ 2);\n                break;\n            case 'last':\n                $needle = $size;\n                break;\n            case 'none':\n                $needle = $size + 1;\n                break;\n        }\n        \n        \/\/ \u6e2c\u5b9a\u958b\u59cb\n        $startTime = microtime(true);\n        $startMemory = memory_get_usage();\n        \n        \/\/ \u30c6\u30b9\u30c8\u5b9f\u884c\n        $result = in_array($needle, $array, $strict);\n        \n        \/\/ \u6e2c\u5b9a\u7d42\u4e86\n        $endTime = microtime(true);\n        $endMemory = memory_get_usage();\n        \n        \/\/ \u7d50\u679c\u3092\u8fd4\u3059\n        return [\n            'size' =&gt; $size,\n            'strict' =&gt; $strict,\n            'position' =&gt; $position,\n            'found' =&gt; $result,\n            'time' =&gt; ($endTime - $startTime) * 1000, \/\/ \u30df\u30ea\u79d2\u306b\u5909\u63db\n            'memory' =&gt; $endMemory - $startMemory, \/\/ \u30d0\u30a4\u30c8\n        ];\n    }\n    \n    \/**\n     * \u69d8\u3005\u306a\u6761\u4ef6\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u3001\u7d50\u679c\u3092\u8868\u793a\u3059\u308b\n     *\/\n    public function runAllTests()\n    {\n        $sizes = [100, 1000, 10000, 100000, 1000000];\n        $positions = ['first', 'middle', 'last', 'none'];\n        $strictModes = [false, true];\n        \n        $results = [];\n        \n        foreach ($sizes as $size) {\n            foreach ($positions as $position) {\n                foreach ($strictModes as $strict) {\n                    $results[] = $this-&gt;testPerformanceBySize($size, $strict, $position);\n                }\n            }\n        }\n        \n        \/\/ \u7d50\u679c\u3092\u8868\u793a\n        echo \"in_array() Performance Test Results:\\n\";\n        echo str_pad(\"Size\", 10) . str_pad(\"Position\", 10) . str_pad(\"Strict\", 8) . \n             str_pad(\"Found\", 8) . str_pad(\"Time (ms)\", 12) . \"Memory (bytes)\\n\";\n        echo str_repeat(\"-\", 60) . \"\\n\";\n        \n        foreach ($results as $result) {\n            echo str_pad($result['size'], 10) . \n                 str_pad($result['position'], 10) . \n                 str_pad($result['strict'] ? \"Yes\" : \"No\", 8) . \n                 str_pad($result['found'] ? \"Yes\" : \"No\", 8) . \n                 str_pad(number_format($result['time'], 4), 12) . \n                 number_format($result['memory']) . \"\\n\";\n        }\n    }\n    \n    \/**\n     * in_array()\u3068isset()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03\n     * \n     * @param int $size \u914d\u5217\u30b5\u30a4\u30ba\n     * @return array \u6e2c\u5b9a\u7d50\u679c\n     *\/\n    public function compareWithIsset($size)\n    {\n        \/\/ \u30c6\u30b9\u30c8\u7528\u306e\u914d\u5217\u3092\u751f\u6210\n        $array = range(1, $size);\n        $needle = $size; \/\/ \u6700\u60aa\u306e\u30b1\u30fc\u30b9\uff08\u672b\u5c3e\u306e\u8981\u7d20\uff09\n        \n        \/\/ in_array()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6e2c\u5b9a\n        $startTime = microtime(true);\n        $result1 = in_array($needle, $array, true);\n        $inArrayTime = microtime(true) - $startTime;\n        \n        \/\/ isset()\u306e\u305f\u3081\u306e\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3092\u4f5c\u6210\n        $hashMap = array_flip($array);\n        \n        \/\/ isset()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6e2c\u5b9a\n        $startTime = microtime(true);\n        $result2 = isset($hashMap[$needle]);\n        $issetTime = microtime(true) - $startTime;\n        \n        \/\/ \u7d50\u679c\u3092\u8fd4\u3059\n        return [\n            'size' =&gt; $size,\n            'in_array_time' =&gt; $inArrayTime * 1000, \/\/ \u30df\u30ea\u79d2\u306b\u5909\u63db\n            'isset_time' =&gt; $issetTime * 1000, \/\/ \u30df\u30ea\u79d2\u306b\u5909\u63db\n            'speedup' =&gt; $inArrayTime \/ $issetTime,\n        ];\n    }\n    \n    \/**\n     * in_array()\u3068isset()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03\u3092\u5b9f\u884c\u3057\u3001\u7d50\u679c\u3092\u8868\u793a\u3059\u308b\n     *\/\n    public function runComparisonTests()\n    {\n        $sizes = [100, 1000, 10000, 100000, 1000000];\n        \n        $results = [];\n        foreach ($sizes as $size) {\n            $results[] = $this-&gt;compareWithIsset($size);\n        }\n        \n        \/\/ \u7d50\u679c\u3092\u8868\u793a\n        echo \"in_array() vs isset() Performance Comparison:\\n\";\n        echo str_pad(\"Size\", 10) . str_pad(\"in_array (ms)\", 15) . \n             str_pad(\"isset (ms)\", 15) . \"Speedup\\n\";\n        echo str_repeat(\"-\", 50) . \"\\n\";\n        \n        foreach ($results as $result) {\n            echo str_pad($result['size'], 10) . \n                 str_pad(number_format($result['in_array_time'], 6), 15) . \n                 str_pad(number_format($result['isset_time'], 6), 15) . \n                 number_format($result['speedup'], 2) . \"x\\n\";\n        }\n    }\n}\n\n\/\/ \u30c6\u30b9\u30c8\u306e\u5b9f\u884c\n$test = new InArrayPerformanceTest();\n$test-&gt;runAllTests();\necho \"\\n\";\n$test-&gt;runComparisonTests();\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8\u30af\u30e9\u30b9\u3067\u306f\u3001\u69d8\u3005\u306a\u6761\u4ef6\uff08\u914d\u5217\u30b5\u30a4\u30ba\u3001\u691c\u7d22\u4f4d\u7f6e\u3001\u53b3\u5bc6\u6bd4\u8f03\u306e\u6709\u7121\uff09\u3067\u306e<code>in_array()<\/code>\u306e\u5b9f\u884c\u6642\u9593\u3068\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u3092\u6e2c\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001<code>in_array()<\/code>\u3068<code>isset()<\/code>\uff08\u30cf\u30c3\u30b7\u30e5\u30c6\u30fc\u30d6\u30eb\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\uff09\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6bd4\u8f03\u3059\u308b\u6a5f\u80fd\u3082\u5b9f\u88c5\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-75\">\u7d99\u7d9a\u7684\u30a4\u30f3\u30c6\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u3067\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u52d9\u3067\u306f\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u30ea\u30b0\u30ec\u30c3\u30b7\u30e7\u30f3\uff08\u6027\u80fd\u4f4e\u4e0b\uff09\u3092\u9632\u3050\u305f\u3081\u306b\u3001\u7d99\u7d9a\u7684\u30a4\u30f3\u30c6\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\uff08CI\uff09\u30b7\u30b9\u30c6\u30e0\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c6\u30b9\u30c8\u3092\u81ea\u52d5\u5316\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPUnit\\Framework\\TestCase;\n\n\/**\n * in_array()\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u30c6\u30b9\u30c8\n *\/\nclass InArrayPerformanceBenchmarkTest extends TestCase\n{\n    \/**\n     * @requires PHP &gt;= 7.0\n     *\/\n    public function testLargeArrayPerformance()\n    {\n        $sizes = [10000, 100000];\n        $positions = ['first', 'last', 'none'];\n        $maxExecutionTimes = [\n            10000 =&gt; [\n                'first' =&gt; 0.005, \/\/ \u5148\u982d\u8981\u7d20\u306e\u691c\u7d22\u306f\u9ad8\u901f\n                'last' =&gt; 0.05,   \/\/ \u672b\u5c3e\u8981\u7d20\u306e\u691c\u7d22\u306f\u4f4e\u901f\n                'none' =&gt; 0.05    \/\/ \u5b58\u5728\u3057\u306a\u3044\u8981\u7d20\u306e\u691c\u7d22\u306f\u5168\u8981\u7d20\u3092\u8d70\u67fb\n            ],\n            100000 =&gt; [\n                'first' =&gt; 0.005, \/\/ \u5148\u982d\u8981\u7d20\u306e\u691c\u7d22\u306f\u9ad8\u901f\n                'last' =&gt; 0.5,    \/\/ \u672b\u5c3e\u8981\u7d20\u306e\u691c\u7d22\u306f\u4f4e\u901f\n                'none' =&gt; 0.5     \/\/ \u5b58\u5728\u3057\u306a\u3044\u8981\u7d20\u306e\u691c\u7d22\u306f\u5168\u8981\u7d20\u3092\u8d70\u67fb\n            ]\n        ];\n        \n        foreach ($sizes as $size) {\n            $array = range(1, $size);\n            \n            foreach ($positions as $position) {\n                \/\/ \u691c\u7d22\u3059\u308b\u5024\u3092\u8a2d\u5b9a\n                switch ($position) {\n                    case 'first': $needle = 1; break;\n                    case 'last': $needle = $size; break;\n                    case 'none': $needle = $size + 1; break;\n                }\n                \n                \/\/ \u5b9f\u884c\u6642\u9593\u3092\u6e2c\u5b9a\n                $startTime = microtime(true);\n                in_array($needle, $array, true);\n                $executionTime = microtime(true) - $startTime;\n                \n                \/\/ \u8a31\u5bb9\u7bc4\u56f2\u5185\u304b\u30c1\u30a7\u30c3\u30af\n                $maxTime = $maxExecutionTimes[$size][$position];\n                $this-&gt;assertLessThanOrEqual(\n                    $maxTime,\n                    $executionTime,\n                    \"Performance degradation detected: in_array() for size $size, position $position took $executionTime seconds (max: $maxTime)\"\n                );\n            }\n        }\n    }\n    \n    \/**\n     * @requires PHP &gt;= 7.0\n     *\/\n    public function testIssetVsInArrayPerformance()\n    {\n        $size = 10000;\n        $array = range(1, $size);\n        $needle = $size; \/\/ \u6700\u60aa\u306e\u30b1\u30fc\u30b9\n        \n        \/\/ in_array()\u306e\u5b9f\u884c\u6642\u9593\n        $startTime = microtime(true);\n        in_array($needle, $array, true);\n        $inArrayTime = microtime(true) - $startTime;\n        \n        \/\/ isset()\u306e\u5b9f\u884c\u6642\u9593\n        $hashMap = array_flip($array);\n        $startTime = microtime(true);\n        isset($hashMap[$needle]);\n        $issetTime = microtime(true) - $startTime;\n        \n        \/\/ isset()\u306fin_array()\u3088\u308a\u5c11\u306a\u304f\u3068\u308210\u500d\u9ad8\u901f\u3067\u3042\u308b\u3053\u3068\u3092\u671f\u5f85\n        $speedup = $inArrayTime \/ $issetTime;\n        $this-&gt;assertGreaterThan(\n            10,\n            $speedup,\n            \"isset() should be at least 10 times faster than in_array() (actual: $speedup times)\"\n        );\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30c6\u30b9\u30c8\u30af\u30e9\u30b9\u3067\u306f\u3001<code>in_array()<\/code>\u306e\u5b9f\u884c\u6642\u9593\u304c\u4e8b\u524d\u306b\u5b9a\u7fa9\u3055\u308c\u305f\u8a31\u5bb9\u7bc4\u56f2\u5185\u3067\u3042\u308b\u3053\u3068\u3092\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001<code>isset()<\/code>\u3068<code>in_array()<\/code>\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5dee\u304c\u4e88\u60f3\u7bc4\u56f2\u5185\u3067\u3042\u308b\u3053\u3068\u3082\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30c6\u30b9\u30c8\u3092CI\u30b7\u30b9\u30c6\u30e0\u3067\u5b9a\u671f\u7684\u306b\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30fc\u30c9\u5909\u66f4\u306b\u3088\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3078\u306e\u5f71\u97ff\u3092\u65e9\u671f\u306b\u691c\u51fa\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0a\u306e\u30c6\u30b9\u30c8\u624b\u6cd5\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u3067\u3001<code>in_array()<\/code>\u95a2\u6570\u3092\u4f7f\u7528\u3057\u305f\u30b3\u30fc\u30c9\u306e\u54c1\u8cea\u3068\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u78ba\u4fdd\u3067\u304d\u307e\u3059\u3002\u7279\u306b\u3001\u5927\u898f\u6a21\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3084\u9ad8\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306eWeb\u30b5\u30a4\u30c8\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u30c6\u30b9\u30c8\u304c\u91cd\u8981\u306a\u5f79\u5272\u3092\u679c\u305f\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warning: Undefined array key &#8220;is_admin&#8221; in \/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/ &#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-3408","post","type-post","status-publish","format-standard","category-php","nothumb"],"_links":{"self":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3408"}],"version-history":[{"count":2,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3408\/revisions"}],"predecessor-version":[{"id":3410,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3408\/revisions\/3410"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}