{"id":3713,"date":"2025-04-15T11:47:54","date_gmt":"2025-04-15T02:47:54","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=3713"},"modified":"2025-04-15T11:47:57","modified_gmt":"2025-04-15T02:47:57","slug":"php%e3%81%a7%e6%96%87%e5%ad%97%e5%88%97%e3%81%8b%e3%82%89%e6%95%b0%e5%80%a4%e3%81%b8%e3%81%ae%e7%a2%ba%e5%ae%9f%e3%81%aa%e5%a4%89%e6%8f%9b%e6%96%b9%e6%b3%95-12%e3%81%ae%e3%83%86%e3%82%af%e3%83%8b","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=3713","title":{"rendered":"PHP\u3067\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u78ba\u5b9f\u306a\u5909\u63db\u65b9\u6cd5 &#8211; 12\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3068\u5b9f\u8df5\u4f8b"},"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\">PHP\u306b\u304a\u3051\u308b\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u57fa\u672c<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-1\">PHP\u306e\u578b\u30b7\u30b9\u30c6\u30e0\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u304c\u5909\u63db\u306e\u7b2c\u4e00\u6b69<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-2\">PHP\u306e\u6587\u5b57\u5217\u3068\u6570\u5024\u578b\u306e\u7279\u6027\u3068\u9055\u3044<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-3\">\u6587\u5b57\u5217\u304b\u3089\u6574\u6570\u3078\u306e\u5909\u63db\u30c6\u30af\u30cb\u30c3\u30af<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-4\">intval()\u95a2\u6570\uff1a\u57fa\u672c\u304b\u3064\u5f37\u529b\u306a\u6574\u6570\u5909\u63db\u624b\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-5\">(int)\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u3092\u4f7f\u3063\u305f\u9ad8\u901f\u5909\u63db<\/a>      <\/li>      <li>        <a href=\"#i-6\">\u6574\u6570\u5909\u63db\u306b\u304a\u3051\u308bsettype()\u95a2\u6570\u306e\u4f7f\u3044\u65b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-7\">3\u3064\u306e\u65b9\u6cd5\u306e\u6bd4\u8f03<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-8\">\u6587\u5b57\u5217\u304b\u3089\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u5909\u63db\u65b9\u6cd5<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-9\">floatval()\u95a2\u6570\u3067\u5c0f\u6570\u70b9\u3092\u542b\u3080\u6587\u5b57\u5217\u3092\u5909\u63db\u3059\u308b<\/a>      <\/li>      <li>        <a href=\"#i-10\">(float)\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306e\u7279\u5fb4\u3068\u4f7f\u7528\u30b7\u30fc\u30f3<\/a>      <\/li>      <li>        <a href=\"#i-11\">number_format()\u95a2\u6570\u306e\u9006\u64cd\u4f5c\u3067\u6570\u5024\u5f62\u5f0f\u3092\u8abf\u6574\u3059\u308b<\/a>      <\/li>      <li>        <a href=\"#i-12\">3\u3064\u306e\u65b9\u6cd5\u306e\u6bd4\u8f03\u3068\u9078\u629e\u57fa\u6e96<\/a>      <\/li>      <li>        <a href=\"#i-13\">\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u5909\u63db\u6642\u306e\u6ce8\u610f\u70b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-14\">\u5b9f\u8df5\u7684\u306a\u4f7f\u7528\u4f8b<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-15\">\u5909\u63db\u306b\u304a\u3051\u308b\u6ce8\u610f\u70b9\u3068\u843d\u3068\u3057\u7a74<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-16\">\u6587\u5b57\u5217\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u304c\u5909\u63db\u7d50\u679c\u306b\u4e0e\u3048\u308b\u5f71\u97ff<\/a>      <\/li>      <li>        <a href=\"#i-20\">\u5730\u57df\u8a2d\u5b9a\uff08\u30ed\u30b1\u30fc\u30eb\uff09\u306b\u3088\u308b\u5c0f\u6570\u70b9\u8a18\u53f7\u306e\u9055\u3044\u3078\u306e\u5bfe\u5fdc<\/a>      <\/li>      <li>        <a href=\"#i-23\">\u79d1\u5b66\u7684\u8a18\u6570\u6cd5\uff081.2e3\u306a\u3069\uff09\u3092\u542b\u3080\u6587\u5b57\u5217\u306e\u6b63\u3057\u3044\u5909\u63db<\/a>      <\/li>      <li>        <a href=\"#i-24\">PHP 7.x\u3068PHP 8.x\u3067\u306e\u5909\u63db\u6319\u52d5\u306e\u9055\u3044<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-25\">\u5b9f\u8df5\u7684\u306a\u5bfe\u5fdc\u7b56<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-26\">\u578b\u5909\u63db\u306b\u304a\u3051\u308b\u53b3\u683c\u3055\u3068\u7de9\u3084\u304b\u3055\u306e\u30d0\u30e9\u30f3\u30b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-27\">\u7de9\u3084\u304b\u306a\u5909\u63db\u3067\u30b3\u30fc\u30c9\u53ef\u8aad\u6027\u3092\u9ad8\u3081\u308b\u5834\u9762<\/a>      <\/li>      <li>        <a href=\"#i-30\">\u53b3\u683c\u306a\u5909\u63db\u3067\u30d0\u30b0\u3092\u672a\u7136\u306b\u9632\u3050\u30a2\u30d7\u30ed\u30fc\u30c1<\/a>      <\/li>      <li>        <a href=\"#i-33\">\u5b9f\u52d9\u3067\u306e\u6700\u9069\u306a\u30d0\u30e9\u30f3\u30b9\u306e\u53d6\u308a\u65b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-39\">\u307e\u3068\u3081\uff1a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u305f\u578b\u5909\u63db\u6226\u7565<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-40\">\u7279\u6b8a\u306a\u30b1\u30fc\u30b9\u306e\u6587\u5b57\u5217\u6570\u5024\u5909\u63db<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-41\">\u91d1\u984d\u8868\u793a\uff08\u00a5\u3084$\u4ed8\u304d\uff09\u304b\u3089\u306e\u6570\u5024\u62bd\u51fa\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li>        <a href=\"#i-46\">\u30ab\u30f3\u30de\u533a\u5207\u308a\u6570\u5024\u6587\u5b57\u5217\u306e\u52b9\u7387\u7684\u306a\u5909\u63db<\/a>      <\/li>      <li>        <a href=\"#i-51\">\u7570\u306a\u308b\u57fa\u6570\uff0816\u9032\u6570\u30fb8\u9032\u6570\u306a\u3069\uff09\u306e\u6587\u5b57\u5217\u5909\u63db<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-57\">\u307e\u3068\u3081\uff1a\u7279\u6b8a\u306a\u30b1\u30fc\u30b9\u3078\u306e\u5bfe\u5fdc<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-58\">\u5909\u63db\u306e\u5b9f\u8df5\u4f8b\uff1a\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u306e\u51e6\u7406<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-59\">\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3092\u5b89\u5168\u306b\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>      <\/li>      <li>        <a href=\"#i-63\">\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3068\u578b\u5909\u63db\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u5805\u7262\u306a\u5b9f\u88c5<\/a>      <\/li>      <li>        <a href=\"#i-67\">\u5b9f\u8df5\u7684\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56<\/a>      <\/li>      <li>        <a href=\"#i-70\">PHP 7.x\u30688.x\u3067\u306e\u6ce8\u610f\u70b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-71\">\u307e\u3068\u3081<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-72\">PHP\u306e\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u304a\u3051\u308b\u578b\u5909\u63db\u306e\u5909\u5316<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-73\">PHP 7.x\u4ee5\u964d\u306e\u578b\u5909\u63db\u306e\u6319\u52d5\u5909\u66f4\u70b9<\/a>      <\/li>      <li>        <a href=\"#i-78\">PHP 8.0\u306e\u53b3\u683c\u306a\u578b\u30b7\u30b9\u30c6\u30e0\u304c\u578b\u5909\u63db\u306b\u4e0e\u3048\u308b\u5f71\u97ff<\/a>      <\/li>      <li>        <a href=\"#i-84\">PHP 8.1\u3067\u306e\u9032\u5316<\/a>      <\/li>      <li>        <a href=\"#i-88\">\u8907\u6570\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30b3\u30fc\u30c9\u306e\u66f8\u304d\u65b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-89\">\u307e\u3068\u3081\uff1aPHP\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u578b\u5909\u63db\u5bfe\u5fdc<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-90\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\uff1a\u9069\u5207\u306a\u5909\u63db\u65b9\u6cd5\u306e\u9078\u629e<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-91\">\u5404\u5909\u63db\u65b9\u6cd5\u306e\u5b9f\u884c\u901f\u5ea6\u6bd4\u8f03<\/a>      <\/li>      <li>        <a href=\"#i-93\">\u5927\u91cf\u30c7\u30fc\u30bf\u51e6\u7406\u306b\u304a\u3051\u308b\u578b\u5909\u63db\u306e\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li>        <a href=\"#i-98\">OPCache\u3068JIT\u306e\u5f71\u97ff<\/a>      <\/li>      <li>        <a href=\"#i-101\">\u5b9f\u8df5\u7684\u306a\u578b\u5909\u63db\u6700\u9069\u5316\u6226\u7565<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-105\">\u307e\u3068\u3081\uff1a\u5b9f\u7528\u7684\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-106\">\u5b9f\u8df5\u4f8b\uff1a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u6587\u5b57\u5217\u306e\u6570\u5024\u5909\u63db<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-107\">PDO\u306e\u30d5\u30a7\u30c3\u30c1\u30e2\u30fc\u30c9\u3068\u578b\u5909\u63db\u306e\u95a2\u4fc2<\/a>      <\/li>      <li>        <a href=\"#i-111\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u6570\u5024\u578b\u3068\u6587\u5b57\u5217\u578b\u306e\u76f8\u4e92\u5909\u63db\u3067\u6c17\u3092\u3064\u3051\u308b\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>      <li>        <a href=\"#i-116\">\u30d7\u30ea\u30da\u30a2\u30c9\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306b\u3088\u308b\u578b\u6307\u5b9a<\/a>      <\/li>      <li>        <a href=\"#i-117\">\u5404\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b7\u30b9\u30c6\u30e0\u3054\u3068\u306e\u7279\u5fb4\u3068\u5909\u63db\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>      <li>        <a href=\"#i-121\">PHP 7.x\u30688.x\u3067\u306e\u6319\u52d5\u306e\u9055\u3044<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-122\">\u5b9f\u88c5\u306b\u5f79\u7acb\u3064\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-123\">\u5909\u63db\u30a8\u30e9\u30fc\u306e\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3068\u30c7\u30d0\u30c3\u30b0<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-124\">\u578b\u5909\u63db\u5931\u6557\u6642\u306e\u9069\u5207\u306a\u30a8\u30e9\u30fc\u51e6\u7406<\/a>      <\/li>      <li>        <a href=\"#i-128\">\u5909\u63db\u7d50\u679c\u306e\u59a5\u5f53\u6027\u691c\u8a3c\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li>        <a href=\"#i-132\">\u30c7\u30d0\u30c3\u30b0\u306e\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3068\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-137\">\u307e\u3068\u3081<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-138\">\u307e\u3068\u3081\uff1a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u305f\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u6226\u7565<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-139\">\u7528\u9014\u5225\u304a\u3059\u3059\u3081\u5909\u63db\u65b9\u6cd5\u306e\u30c1\u30fc\u30c8\u30b7\u30fc\u30c8<\/a>      <\/li>      <li>        <a href=\"#i-140\">\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u306b\u95a2\u3059\u308b\u5b9f\u8df5\u7684\u306a\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>      <\/li>      <li>        <a href=\"#i-146\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30bf\u30a4\u30d7\u5225\u306e\u6700\u9069\u306a\u5909\u63db\u6226\u7565<\/a>      <\/li>      <li>        <a href=\"#i-152\">\u5909\u63db\u6226\u7565\u9078\u629e\u306e\u305f\u3081\u306e\u610f\u601d\u6c7a\u5b9a\u30d5\u30ed\u30fc<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-153\">\u6700\u7d42\u7684\u306a\u63a8\u5968\u4e8b\u9805<\/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\">PHP\u306b\u304a\u3051\u308b\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u57fa\u672c<\/h2>\n\n\n\n<p>PHP\u306fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3067\u3088\u304f\u4f7f\u7528\u3055\u308c\u308b\u30b5\u30fc\u30d0\u30fc\u30b5\u30a4\u30c9\u30b9\u30af\u30ea\u30d7\u30c8\u8a00\u8a9e\u3067\u3059\u3002\u5b9f\u52d9\u3067PHP\u3092\u4f7f\u7528\u3059\u308b\u969b\u3001\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u76f8\u4e92\u5909\u63db\u306f\u975e\u5e38\u306b\u983b\u7e41\u306b\u884c\u308f\u308c\u308b\u64cd\u4f5c\u306e\u3072\u3068\u3064\u3067\u3059\u3002\u30d5\u30a9\u30fc\u30e0\u304b\u3089\u306e\u5165\u529b\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u306e\u5024\u306e\u53d6\u5f97\u3001API\u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u51e6\u7406\u306a\u3069\u3001\u69d8\u3005\u306a\u5834\u9762\u3067\u578b\u5909\u63db\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u57fa\u672c\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u5805\u7262\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-1\">PHP\u306e\u578b\u30b7\u30b9\u30c6\u30e0\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u304c\u5909\u63db\u306e\u7b2c\u4e00\u6b69<\/h3>\n\n\n\n<p>PHP\u306f<strong>\u52d5\u7684\u578b\u4ed8\u3051\u8a00\u8a9e<\/strong>\u3067\u3042\u308a\u3001<strong>\u5f31\u3044\u578b\u4ed8\u3051<\/strong>\u306e\u7279\u5fb4\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u5909\u6570\u306e\u578b\u304c\u5b9f\u884c\u6642\u306b\u6c7a\u5b9a\u3055\u308c\u3001\u72b6\u6cc1\u306b\u5fdc\u3058\u3066\u81ea\u52d5\u7684\u306b\u5909\u63db\u3055\u308c\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002<\/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\/\/ \u578b\u3092\u660e\u793a\u7684\u306b\u5ba3\u8a00\u305b\u305a\u306b\u5909\u6570\u3092\u4f7f\u7528\u3067\u304d\u308b\n$number = 42;        \/\/ \u6574\u6570\u578b\n$text = \"Hello\";     \/\/ \u6587\u5b57\u5217\u578b\n$float = 3.14;       \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u578b\n\n\/\/ var_dump()\u95a2\u6570\u3067\u5909\u6570\u306e\u578b\u3068\u5024\u3092\u78ba\u8a8d\u3067\u304d\u308b\nvar_dump($number);   \/\/ int(42)\nvar_dump($text);     \/\/ string(5) \"Hello\"\nvar_dump($float);    \/\/ float(3.14)\n?&gt;\n<\/pre>\n\n\n\n<p>PHP\u3067\u306f8\u3064\u306e\u57fa\u672c\u30c7\u30fc\u30bf\u578b\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6574\u6570\u578b\uff08integer\uff09<\/li>\n\n\n\n<li>\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u578b\uff08float\/double\uff09<\/li>\n\n\n\n<li>\u6587\u5b57\u5217\u578b\uff08string\uff09<\/li>\n\n\n\n<li>\u8ad6\u7406\u578b\uff08boolean\uff09<\/li>\n\n\n\n<li>\u914d\u5217\u578b\uff08array\uff09<\/li>\n\n\n\n<li>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u578b\uff08object\uff09<\/li>\n\n\n\n<li>\u30ea\u30bd\u30fc\u30b9\u578b\uff08resource\uff09<\/li>\n\n\n\n<li>\u30cc\u30eb\u578b\uff08NULL\uff09<\/li>\n<\/ol>\n\n\n\n<p>PHP 7\u4ee5\u964d\u3067\u306f<strong>\u578b\u5ba3\u8a00<\/strong>\uff08Type Declarations\uff09\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3001PHP 8\u3067\u306f<strong>\u5171\u7528\u578b<\/strong>\uff08Union Types\uff09\u306a\u3069\u306e\u65b0\u6a5f\u80fd\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u578b\u306e\u6271\u3044\u304c\u3088\u308a\u53b3\u683c\u306b\u306a\u3063\u3066\u304d\u3066\u3044\u307e\u3059\u3002<\/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\/\/ PHP 7\u306e\u578b\u5ba3\u8a00\u306e\u4f8b\nfunction addNumbers(int $a, int $b): int {\n    return $a + $b;\n}\n\n\/\/ PHP 8\u306e\u5171\u7528\u578b\u306e\u4f8b\nfunction processValue(int|float $value): string {\n    return \"\u51e6\u7406\u7d50\u679c: \" . $value;\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">PHP\u306e\u6587\u5b57\u5217\u3068\u6570\u5024\u578b\u306e\u7279\u6027\u3068\u9055\u3044<\/h3>\n\n\n\n<p>\u6587\u5b57\u5217\u578b\u3068\u6570\u5024\u578b\u306f\u3001PHP\u3067\u6700\u3082\u3088\u304f\u4f7f\u308f\u308c\u308b\u57fa\u672c\u578b\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u7279\u6027\u3068\u9055\u3044\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u304c\u3001\u9069\u5207\u306a\u5909\u63db\u3092\u884c\u3046\u305f\u3081\u306e\u57fa\u790e\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u6587\u5b57\u5217\u578b\uff08String\uff09\u306e\u7279\u6027<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\uff08\u2019\uff09\u307e\u305f\u306f\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c8\uff08\u201d\uff09\u3067\u56f2\u307e\u308c\u305f\u30c6\u30ad\u30b9\u30c8<\/li>\n\n\n\n<li>\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c8\u5185\u3067\u306f\u5909\u6570\u304c\u5c55\u958b\u3055\u308c\u308b<\/li>\n\n\n\n<li>\u30d0\u30a4\u30ca\u30ea\u30c7\u30fc\u30bf\u3092\u542b\u3080\u4efb\u610f\u306e\u6587\u5b57\u3092\u683c\u7d0d\u53ef\u80fd<\/li>\n\n\n\n<li>\u6587\u5b57\u5217\u306e\u9023\u7d50\u306b\u306f\u300c.\u300d\u6f14\u7b97\u5b50\u3092\u4f7f\u7528<\/li>\n<\/ul>\n\n\n\n<p><strong>\u6570\u5024\u578b\u306e\u7279\u6027<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6574\u6570\u578b\uff08Integer\uff09\uff1a\u5c0f\u6570\u70b9\u3092\u542b\u307e\u306a\u3044\u6570\u5024\u30012147483647\uff0832\u30d3\u30c3\u30c8\u74b0\u5883\uff09\u307e\u305f\u306f9223372036854775807\uff0864\u30d3\u30c3\u30c8\u74b0\u5883\uff09\u307e\u3067\u306e\u7bc4\u56f2<\/li>\n\n\n\n<li>\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u578b\uff08Float\uff09\uff1a\u5c0f\u6570\u70b9\u3092\u542b\u3080\u6570\u5024\u3001\u7cbe\u5ea6\u306b\u6ce8\u610f\u304c\u5fc5\u8981<\/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\/\/ \u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u57fa\u672c\u64cd\u4f5c\n$str = \"42\";         \/\/ \u6587\u5b57\u5217\u578b\u306e\u6570\u5024\n$num = 42;           \/\/ \u6574\u6570\u578b\n\n\/\/ \u6587\u5b57\u5217\u9023\u7d50\necho $str . \" is the answer\"; \/\/ \u51fa\u529b: 42 is the answer\n\n\/\/ \u6570\u5024\u6f14\u7b97\necho $num + 8;               \/\/ \u51fa\u529b: 50\n\n\/\/ \u578b\u306e\u81ea\u52d5\u5909\u63db\uff08\u578b\u5f37\u5236\uff09\necho $str + 8;               \/\/ \u51fa\u529b: 50\uff08\u6587\u5b57\u5217\u304c\u6570\u5024\u306b\u81ea\u52d5\u5909\u63db\uff09\n?&gt;\n<\/pre>\n\n\n\n<p>PHP\u306e\u7279\u5fb4\u7684\u306a\u70b9\u306f\u3001<strong>\u578b\u5f37\u5236<\/strong>\uff08Type Coercion\uff09\u3068\u547c\u3070\u308c\u308b\u81ea\u52d5\u578b\u5909\u63db\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u5fdc\u3058\u3066\u578b\u304c\u81ea\u52d5\u7684\u306b\u5909\u63db\u3055\u308c\u307e\u3059\u3002<\/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$str = \"42\";\n$num = 42;\n\n\/\/ ==\uff08\u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff09\u3067\u306f\u578b\u5f37\u5236\u304c\u884c\u308f\u308c\u308b\nvar_dump($str == $num);  \/\/ bool(true)\n\n\/\/ ===\uff08\u53b3\u683c\u306a\u6bd4\u8f03\uff09\u3067\u306f\u578b\u3082\u6bd4\u8f03\u3055\u308c\u308b\nvar_dump($str === $num); \/\/ bool(false)\n\n\/\/ \u6587\u5b57\u5217\u3092\u542b\u3080\u6f14\u7b97\u3067\u306f\u3001\u6570\u5024\u306b\u5909\u63db\u3067\u304d\u308b\u6587\u5b57\u5217\u306f\u81ea\u52d5\u7684\u306b\u5909\u63db\u3055\u308c\u308b\necho \"5\" + \"10\";         \/\/ \u51fa\u529b: 15\necho \"5\" . \"10\";         \/\/ \u51fa\u529b: 510\uff08\u9023\u7d50\u6f14\u7b97\u5b50\u3067\u306f\u5909\u63db\u3055\u308c\u306a\u3044\uff09\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u81ea\u52d5\u578b\u5909\u63db\u306f\u4fbf\u5229\u3067\u3059\u304c\u3001\u4e88\u671f\u305b\u306c\u30d0\u30b0\u306e\u539f\u56e0\u306b\u3082\u306a\u308a\u5f97\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\/\/ \u6ce8\u610f\u3059\u3079\u304d\u578b\u5f37\u5236\u306e\u4f8b\n$value = \"42abc\";\necho $value + 10;    \/\/ \u51fa\u529b: 52\uff08\u6570\u5024\u3068\u3057\u3066\u89e3\u91c8\u3067\u304d\u308b \"42\" \u3060\u3051\u304c\u4f7f\u7528\u3055\u308c\u308b\uff09\n\n$empty = \"\";\necho $empty + 5;     \/\/ \u51fa\u529b: 5\uff08\u7a7a\u6587\u5b57\u5217\u306f0\u3068\u3057\u3066\u6271\u308f\u308c\u308b\uff09\n\n\/\/ \u6570\u5024\u3092\u542b\u307e\u306a\u3044\u6587\u5b57\u5217\n$text = \"Hello\";\necho $text + 5;      \/\/ \u51fa\u529b: 5\uff08\u6570\u5024\u3092\u542b\u307e\u306a\u3044\u6587\u5b57\u5217\u306f0\u3068\u3057\u3066\u6271\u308f\u308c\u308b\uff09\n                     \/\/ PHP 8\u3067\u306f\u8b66\u544a\u304c\u767a\u751f\n?&gt;\n<\/pre>\n\n\n\n<p>PHP 8\u3067\u306f\u3001\u3053\u306e\u3088\u3046\u306a\u6697\u9ed9\u306e\u578b\u5909\u63db\u306b\u5bfe\u3059\u308b\u8b66\u544a\u304c\u3088\u308a\u53b3\u3057\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u5b89\u5168\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u305f\u3081\u306b\u306f\u3001\u660e\u793a\u7684\u306a\u578b\u5909\u63db\u3092\u884c\u3046\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u9593\u306e\u660e\u793a\u7684\u306a\u5909\u63db\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f\u3001\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u8a73\u3057\u304f\u8aac\u660e\u3057\u307e\u3059\u3002PHP\u306e\u578b\u30b7\u30b9\u30c6\u30e0\u3068\u81ea\u52d5\u5909\u63db\u306e\u4ed5\u7d44\u307f\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u3067\u3001\u9069\u5207\u306a\u5909\u63db\u65b9\u6cd5\u3092\u9078\u629e\u3059\u308b\u305f\u3081\u306e\u57fa\u76e4\u304c\u6574\u3044\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\">\u6587\u5b57\u5217\u304b\u3089\u6574\u6570\u3078\u306e\u5909\u63db\u30c6\u30af\u30cb\u30c3\u30af<\/h2>\n\n\n\n<p>\u5b9f\u52d9\u306ePHP\u958b\u767a\u3067\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u6587\u5b57\u5217\u3092\u6574\u6570\u306b\u5909\u63db\u3059\u308b\u5834\u9762\u304c\u983b\u7e41\u306b\u767a\u751f\u3057\u307e\u3059\u3002PHP\u3067\u306f\u6587\u5b57\u5217\u304b\u3089\u6574\u6570\u3078\u306e\u5909\u63db\u3092\u884c\u3046\u305f\u3081\u306e\u8907\u6570\u306e\u65b9\u6cd5\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u306b\u7279\u5fb4\u304c\u3042\u308a\u3001\u72b6\u6cc1\u306b\u5fdc\u3058\u3066\u6700\u9069\u306a\u65b9\u6cd5\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u4e3b\u8981\u306a3\u3064\u306e\u5909\u63db\u65b9\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-4\">intval()\u95a2\u6570\uff1a\u57fa\u672c\u304b\u3064\u5f37\u529b\u306a\u6574\u6570\u5909\u63db\u624b\u6cd5<\/h3>\n\n\n\n<p><code>intval()<\/code>\u95a2\u6570\u306f\u3001\u3042\u3089\u3086\u308b\u578b\u306e\u5024\u3092\u6574\u6570\u306b\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u57fa\u672c\u7684\u304b\u3064\u5f37\u529b\u306a\u95a2\u6570\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>\u69cb\u6587<\/strong>:<\/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=\"\">int intval(mixed $value, int $base = 10)\n<\/pre>\n\n\n\n<p><strong>\u30d1\u30e9\u30e1\u30fc\u30bf<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$value<\/code>: \u5909\u63db\u3059\u308b\u5024<\/li>\n\n\n\n<li><code>$base<\/code>: \u6570\u5024\u306e\u57fa\u6570\uff082\u301c36\u306e\u9593\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306f10\u9032\u6570\uff09<\/li>\n<\/ul>\n\n\n\n<p>\u3053\u306e\u95a2\u6570\u306e\u7279\u5fb4\u306f\u3001\u3055\u307e\u3056\u307e\u306a\u578b\u306e\u5024\u3092\u6574\u6570\u306b\u5909\u63db\u3067\u304d\u308b\u3053\u3068\u3068\u3001\u5909\u63db\u306e\u57fa\u6570\u3092\u6307\u5b9a\u3067\u304d\u308b\u3053\u3068\u3067\u3059\u3002<\/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\/\/ \u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b\necho intval(\"42\");           \/\/ \u51fa\u529b: 42\necho intval(\"42.9\");         \/\/ \u51fa\u529b: 42\uff08\u5c0f\u6570\u70b9\u4ee5\u4e0b\u306f\u5207\u308a\u6368\u3066\uff09\necho intval(\"42hello\");      \/\/ \u51fa\u529b: 42\uff08\u6570\u5024\u3067\u306a\u3044\u90e8\u5206\u306f\u7121\u8996\uff09\necho intval(\"hello\");        \/\/ \u51fa\u529b: 0\uff08\u6570\u5024\u3092\u542b\u307e\u306a\u3044\u5834\u5408\u306f0\uff09\necho intval(\"\");             \/\/ \u51fa\u529b: 0\uff08\u7a7a\u6587\u5b57\u5217\u306f0\uff09\n\n\/\/ \u7570\u306a\u308b\u57fa\u6570\u3067\u306e\u5909\u63db\necho intval(\"1010\", 2);      \/\/ \u51fa\u529b: 10\uff082\u9032\u6570\u306e1010\u309210\u9032\u6570\u306b\u5909\u63db\uff09\necho intval(\"20\", 8);        \/\/ \u51fa\u529b: 16\uff088\u9032\u6570\u306e20\u309210\u9032\u6570\u306b\u5909\u63db\uff09\necho intval(\"A0\", 16);       \/\/ \u51fa\u529b: 160\uff0816\u9032\u6570\u306eA0\u309210\u9032\u6570\u306b\u5909\u63db\uff09\n\n\/\/ \u4ed6\u306e\u578b\u304b\u3089\u306e\u5909\u63db\necho intval(42.9);           \/\/ \u51fa\u529b: 42\uff08\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u304b\u3089\u306e\u5909\u63db\uff09\necho intval(true);           \/\/ \u51fa\u529b: 1\necho intval(false);          \/\/ \u51fa\u529b: 0\necho intval(null);           \/\/ \u51fa\u529b: 0\n?&gt;\n<\/pre>\n\n\n\n<p><code>intval()<\/code>\u306e\u7279\u306b\u4fbf\u5229\u306a\u70b9\u306f\u3001\u6587\u5b57\u5217\u5185\u306e\u6570\u5024\u90e8\u5206\u3092\u62bd\u51fa\u3067\u304d\u308b\u3053\u3068\u3067\u3059\u3002\u3053\u308c\u306f\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u306e\u51e6\u7406\u3084\u3001\u4e0d\u6b63\u78ba\u306a\u30c7\u30fc\u30bf\u3092\u6271\u3046\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\">(int)\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u3092\u4f7f\u3063\u305f\u9ad8\u901f\u5909\u63db<\/h3>\n\n\n\n<p>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306f\u3001\u660e\u793a\u7684\u306b\u578b\u3092\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u52b9\u7387\u7684\u306a\u65b9\u6cd5\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>\u69cb\u6587<\/strong>:<\/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=\"\">(int)$value \u307e\u305f\u306f (integer)$value\n<\/pre>\n\n\n\n<p>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306f<code>intval()<\/code>\u95a2\u6570\u3068\u540c\u69d8\u306e\u5909\u63db\u30eb\u30fc\u30eb\u306b\u5f93\u3044\u307e\u3059\u304c\u3001\u57fa\u6570\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3057\u304b\u3057\u3001\u8a18\u8ff0\u304c\u3088\u308a\u30b7\u30f3\u30d7\u30eb\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3082\u82e5\u5e72\u512a\u308c\u3066\u3044\u307e\u3059\u3002<\/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\/\/ \u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b\n$str1 = \"42\";\n$str2 = \"42.9\";\n$str3 = \"42hello\";\n$str4 = \"hello\";\n$str5 = \"\";\n\necho (int)$str1;        \/\/ \u51fa\u529b: 42\necho (int)$str2;        \/\/ \u51fa\u529b: 42\necho (int)$str3;        \/\/ \u51fa\u529b: 42\necho (int)$str4;        \/\/ \u51fa\u529b: 0\necho (int)$str5;        \/\/ \u51fa\u529b: 0\n\n\/\/ \u76f4\u63a5\u5024\u3092\u5909\u63db\u3059\u308b\u5834\u5408\necho (int)\"42\";         \/\/ \u51fa\u529b: 42\necho (int)42.9;         \/\/ \u51fa\u529b: 42\necho (int)true;         \/\/ \u51fa\u529b: 1\n\n\/\/ \u5909\u6570\u306e\u5ba3\u8a00\u6642\u306b\u578b\u5909\u63db\n$intValue = (int)\"42\";  \/\/ $intValue\u306f\u6574\u6570\u578b\u306e42\nvar_dump($intValue);    \/\/ int(42)\n?&gt;\n<\/pre>\n\n\n\n<p>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306f\u3001\u5909\u6570\u306e\u578b\u3092\u4e00\u6642\u7684\u306b\u5909\u66f4\u3059\u308b\u3060\u3051\u3067\u3001\u5143\u306e\u5909\u6570\u306e\u578b\u306f\u5909\u308f\u308a\u307e\u305b\u3093\u3002\u5909\u6570\u81ea\u4f53\u306e\u578b\u3092\u5909\u66f4\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u5f8c\u8ff0\u306e<code>settype()<\/code>\u95a2\u6570\u3084\u4ee3\u5165\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/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$value = \"42\";\nvar_dump($value);       \/\/ string(2) \"42\"\n\n\/\/ \u4ee5\u4e0b\u306e\u65b9\u6cd5\u3067\u5909\u6570\u81ea\u4f53\u306e\u578b\u3092\u5909\u66f4\n$value = (int)$value;\nvar_dump($value);       \/\/ int(42)\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-6\">\u6574\u6570\u5909\u63db\u306b\u304a\u3051\u308bsettype()\u95a2\u6570\u306e\u4f7f\u3044\u65b9<\/h3>\n\n\n\n<p><code>settype()<\/code>\u95a2\u6570\u306f\u3001\u5909\u6570\u306e\u578b\u3092\u76f4\u63a5\u5909\u66f4\u3059\u308b\u305f\u3081\u306e\u95a2\u6570\u3067\u3059\u3002\u4ed6\u306e\u30e1\u30bd\u30c3\u30c9\u3068\u7570\u306a\u308a\u3001\u5143\u306e\u5909\u6570\u81ea\u4f53\u306e\u578b\u3092\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u69cb\u6587<\/strong>:<\/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 settype(mixed &amp;$var, string $type)\n<\/pre>\n\n\n\n<p><strong>\u30d1\u30e9\u30e1\u30fc\u30bf<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$var<\/code>: \u578b\u3092\u5909\u66f4\u3059\u308b\u5909\u6570\uff08\u53c2\u7167\u6e21\u3057\uff09<\/li>\n\n\n\n<li><code>$type<\/code>: \u8a2d\u5b9a\u3059\u308b\u578b\u306e\u540d\u524d\uff08\u201dboolean\u201d\u3001\u201dinteger\u201d\u3001\u201dfloat\u201d\u3001\u201dstring\u201d\u3001\u201darray\u201d\u3001\u201dobject\u201d\u3001\u201dnull\u201d\u306e\u3044\u305a\u308c\u304b\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u623b\u308a\u5024<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6210\u529f\u3057\u305f\u5834\u5408\u306f<code>true<\/code>\u3001\u5931\u6557\u3057\u305f\u5834\u5408\u306f<code>false<\/code><\/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\/\/ \u6587\u5b57\u5217\u304b\u3089\u6574\u6570\u3078\u306e\u5909\u63db\n$value = \"42\";\nvar_dump($value);       \/\/ string(2) \"42\"\n\nsettype($value, \"integer\");\nvar_dump($value);       \/\/ int(42)\n\n\/\/ \u69d8\u3005\u306a\u578b\u304b\u3089\u306e\u5909\u63db\n$value = \"42.9\";\nsettype($value, \"integer\");\nvar_dump($value);       \/\/ int(42)\n\n$value = \"42hello\";\nsettype($value, \"integer\");\nvar_dump($value);       \/\/ int(42)\n\n$value = true;\nsettype($value, \"integer\");\nvar_dump($value);       \/\/ int(1)\n\n\/\/ \u6210\u529f\/\u5931\u6557\u306e\u78ba\u8a8d\n$value = \"hello\";\n$result = settype($value, \"integer\");\nvar_dump($result);      \/\/ bool(true) - \u5b9f\u969b\u306b\u306f\u5909\u63db\u306f\u6210\u529f\u3059\u308b\uff080\u306b\u306a\u308b\uff09\nvar_dump($value);       \/\/ int(0)\n?&gt;\n<\/pre>\n\n\n\n<p><code>settype()<\/code>\u306e\u4e3b\u306a\u5229\u70b9\u306f\u3001\u6210\u529f\/\u5931\u6557\u3092\u78ba\u8a8d\u3067\u304d\u308b\u3053\u3068\u3068\u3001\u5909\u6570\u81ea\u4f53\u306e\u578b\u3092\u5909\u66f4\u3067\u304d\u308b\u3053\u3068\u3067\u3059\u304c\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u7684\u306b\u306f<code>intval()<\/code>\u3084<code>(int)<\/code>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u3088\u308a\u3082\u3084\u3084\u52a3\u308b\u50be\u5411\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-7\">3\u3064\u306e\u65b9\u6cd5\u306e\u6bd4\u8f03<\/h3>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u8868\u306f\u30013\u3064\u306e\u4e3b\u8981\u306a\u6574\u6570\u5909\u63db\u65b9\u6cd5\u306e\u7279\u5fb4\u3092\u6bd4\u8f03\u3057\u305f\u3082\u306e\u3067\u3059\uff1a<\/p>\n\n\n<div id=\"id-b58a6787-60ce-4601-8001-f54e41ea5f57\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u5fb4<\/th><th>intval()<\/th><th>(int)\u30ad\u30e3\u30b9\u30c8<\/th><th>settype()<\/th><\/tr><\/thead><tbody><tr><td>\u901f\u5ea6<\/td><td>\u901f\u3044<\/td><td>\u6700\u3082\u901f\u3044<\/td><td>\u3084\u3084\u9045\u3044<\/td><\/tr><tr><td>\u57fa\u6570\u6307\u5b9a<\/td><td>\u53ef\u80fd<\/td><td>\u4e0d\u53ef<\/td><td>\u4e0d\u53ef<\/td><\/tr><tr><td>\u5909\u6570\u306e\u578b\u5909\u66f4<\/td><td>\u4e0d\u53ef\uff08\u4ee3\u5165\u5fc5\u8981\uff09<\/td><td>\u4e0d\u53ef\uff08\u4ee3\u5165\u5fc5\u8981\uff09<\/td><td>\u76f4\u63a5\u5909\u66f4<\/td><\/tr><tr><td>\u7d50\u679c\u78ba\u8a8d<\/td><td>\u623b\u308a\u5024<\/td><td>\u76f4\u63a5\u7d50\u679c<\/td><td>\u771f\u507d\u5024\u3067\u6210\u529f\/\u5931\u6557<\/td><\/tr><tr><td>\u8aad\u307f\u3084\u3059\u3055<\/td><td>\u3084\u3084\u5197\u9577<\/td><td>\u30b7\u30f3\u30d7\u30eb<\/td><td>\u3084\u3084\u5197\u9577<\/td><\/tr><tr><td>PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u5bfe\u5fdc<\/td><td>\u3059\u3079\u3066<\/td><td>\u3059\u3079\u3066<\/td><td>\u3059\u3079\u3066<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>PHP 8\u3067\u306f\u3001\u6570\u5024\u306b\u5909\u63db\u3067\u304d\u306a\u3044\u6587\u5b57\u5217\uff08\u6570\u5024\u3092\u542b\u307e\u306a\u3044\u6587\u5b57\u5217\uff09\u306b\u5bfe\u3057\u3066\u3001\u4ee5\u524d\u3088\u308a\u3082\u53b3\u683c\u306a\u8b66\u544a\u304c\u767a\u751f\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u7279\u306b\u904b\u7528\u74b0\u5883\u3067\u306f\u3001\u3053\u306e\u8b66\u544a\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/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\/\/ PHP 8\u3067\u306f\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3067\u8b66\u544a\u304c\u767a\u751f\n$str = \"hello\";\n$num = (int)$str;  \/\/ PHP 8.0: Warning: Implicit conversion from non-numeric string\n                   \/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\n?&gt;\n<\/pre>\n\n\n\n<p>\u5b9f\u52d9\u3067\u306f\u4f7f\u7528\u3059\u308b\u72b6\u6cc1\u306b\u3088\u3063\u3066\u6700\u9069\u306a\u65b9\u6cd5\u304c\u7570\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30b7\u30f3\u30d7\u30eb\u3067\u9ad8\u901f\u306a\u5909\u63db\u304c\u5fc5\u8981\u306a\u5834\u5408\uff1a<code>(int)<\/code>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50<\/li>\n\n\n\n<li>\u57fa\u6570\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\uff1a<code>intval()<\/code>\u95a2\u6570<\/li>\n\n\n\n<li>\u5909\u6570\u81ea\u4f53\u306e\u578b\u3092\u5909\u66f4\u3057\u3001\u6210\u529f\/\u5931\u6557\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\uff1a<code>settype()<\/code>\u95a2\u6570<\/li>\n<\/ul>\n\n\n\n<p>\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u6587\u5b57\u5217\u304b\u3089\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u5909\u63db\u65b9\u6cd5\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-8\">\u6587\u5b57\u5217\u304b\u3089\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u5909\u63db\u65b9\u6cd5<\/h2>\n\n\n\n<p>\u5b9f\u52d9\u306ePHP\u958b\u767a\u3067\u306f\u3001\u91d1\u984d\u8a08\u7b97\u3084\u79d1\u5b66\u7684\u306a\u8a08\u7b97\u306a\u3069\u3001\u5c0f\u6570\u70b9\u3092\u542b\u3080\u6570\u5024\u3092\u6271\u3046\u5834\u9762\u304c\u6570\u591a\u304f\u3042\u308a\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u306f\u591a\u304f\u306e\u5834\u5408\u6587\u5b57\u5217\u3068\u3057\u3066\u6271\u308f\u308c\u308b\u305f\u3081\u3001\u6b63\u78ba\u306b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\u3059\u308b\u65b9\u6cd5\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u3053\u3053\u3067\u306f\u3001PHP\u306b\u304a\u3051\u308b\u6587\u5b57\u5217\u304b\u3089\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u4e3b\u8981\u306a\u5909\u63db\u624b\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-9\">floatval()\u95a2\u6570\u3067\u5c0f\u6570\u70b9\u3092\u542b\u3080\u6587\u5b57\u5217\u3092\u5909\u63db\u3059\u308b<\/h3>\n\n\n\n<p><code>floatval()<\/code>\u95a2\u6570\u306f\u3001\u3055\u307e\u3056\u307e\u306a\u578b\u306e\u5024\u3092\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u57fa\u672c\u7684\u306a\u95a2\u6570\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>\u69cb\u6587<\/strong>:<\/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=\"\">float floatval(mixed $value)\n<\/pre>\n\n\n\n<p><strong>\u30d1\u30e9\u30e1\u30fc\u30bf<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$value<\/code>: \u5909\u63db\u3059\u308b\u5024<\/li>\n<\/ul>\n\n\n\n<p><code>floatval()<\/code>\u306f\u3001\u6574\u6570\u5909\u63db\u306e<code>intval()<\/code>\u306b\u76f8\u5f53\u3059\u308b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u7248\u306e\u95a2\u6570\u3067\u3001\u4f7f\u3044\u65b9\u3082\u4f3c\u3066\u3044\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u57fa\u6570\uff08\u9032\u6570\uff09\u3092\u6307\u5b9a\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/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\/\/ \u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b\necho floatval(\"3.14\");         \/\/ \u51fa\u529b: 3.14\necho floatval(\"3.14abc\");      \/\/ \u51fa\u529b: 3.14\uff08\u6570\u5024\u3067\u306a\u3044\u90e8\u5206\u306f\u7121\u8996\uff09\necho floatval(\"abc3.14\");      \/\/ \u51fa\u529b: 0\uff08\u5148\u982d\u304c\u6570\u5024\u3067\u306a\u3044\u5834\u5408\u306f0\uff09\necho floatval(\"42\");           \/\/ \u51fa\u529b: 42.0\uff08\u6574\u6570\u3082\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3068\u3057\u3066\u6271\u308f\u308c\u308b\uff09\necho floatval(\"\");             \/\/ \u51fa\u529b: 0\uff08\u7a7a\u6587\u5b57\u5217\u306f0\uff09\n\n\/\/ \u79d1\u5b66\u7684\u8a18\u6570\u6cd5\u306e\u5909\u63db\necho floatval(\"1.2e3\");        \/\/ \u51fa\u529b: 1200\uff081.2 \u00d7 10^3\uff09\necho floatval(\"7E-2\");         \/\/ \u51fa\u529b: 0.07\uff087 \u00d7 10^-2\uff09\n\n\/\/ \u4ed6\u306e\u578b\u304b\u3089\u306e\u5909\u63db\necho floatval(42);             \/\/ \u51fa\u529b: 42.0\necho floatval(true);           \/\/ \u51fa\u529b: 1.0\necho floatval(false);          \/\/ \u51fa\u529b: 0\necho floatval(null);           \/\/ \u51fa\u529b: 0\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-10\">(float)\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306e\u7279\u5fb4\u3068\u4f7f\u7528\u30b7\u30fc\u30f3<\/h3>\n\n\n\n<p>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306f\u3001\u660e\u793a\u7684\u306b\u578b\u3092\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u9ad8\u901f\u306a\u65b9\u6cd5\u3067\u3059\u3002\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u5909\u63db\u306b\u306f\u3001<code>(float)<\/code>, <code>(double)<\/code>, <code>(real)<\/code>\u306e\u3044\u305a\u308c\u304b\u3092\u4f7f\u7528\u3057\u307e\u3059\uff08\u3059\u3079\u3066\u540c\u3058\u52d5\u4f5c\uff09\u3002<\/p>\n\n\n\n<p><strong>\u69cb\u6587<\/strong>:<\/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=\"\">(float)$value \u307e\u305f\u306f (double)$value \u307e\u305f\u306f (real)$value\n<\/pre>\n\n\n\n<p>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306f<code>floatval()<\/code>\u95a2\u6570\u3068\u540c\u69d8\u306e\u5909\u63db\u30eb\u30fc\u30eb\u306b\u5f93\u3044\u3001\u8a18\u8ff0\u304c\u3088\u308a\u30b7\u30f3\u30d7\u30eb\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3082\u82e5\u5e72\u512a\u308c\u3066\u3044\u307e\u3059\u3002<\/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\/\/ \u57fa\u672c\u7684\u306a\u4f7f\u7528\u4f8b\n$str1 = \"3.14\";\n$str2 = \"3.14abc\";\n$str3 = \"abc3.14\";\n$str4 = \"42\";\n$str5 = \"\";\n\necho (float)$str1;         \/\/ \u51fa\u529b: 3.14\necho (float)$str2;         \/\/ \u51fa\u529b: 3.14\necho (float)$str3;         \/\/ \u51fa\u529b: 0\necho (float)$str4;         \/\/ \u51fa\u529b: 42.0\necho (float)$str5;         \/\/ \u51fa\u529b: 0\n\n\/\/ \u76f4\u63a5\u5024\u3092\u5909\u63db\u3059\u308b\u5834\u5408\necho (float)\"3.14\";        \/\/ \u51fa\u529b: 3.14\necho (float)42;            \/\/ \u51fa\u529b: 42.0\necho (float)true;          \/\/ \u51fa\u529b: 1.0\n\n\/\/ \u79d1\u5b66\u7684\u8a18\u6570\u6cd5\necho (float)\"1.2e3\";       \/\/ \u51fa\u529b: 1200\necho (float)\"7E-2\";        \/\/ \u51fa\u529b: 0.07\n\n\/\/ \u5909\u6570\u306e\u5ba3\u8a00\u6642\u306b\u578b\u5909\u63db\n$floatValue = (float)\"3.14\";  \/\/ $floatValue\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u578b\u306e3.14\nvar_dump($floatValue);     \/\/ float(3.14)\n?&gt;\n<\/pre>\n\n\n\n<p><code>(float)<\/code>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306f\u3001\u8a08\u7b97\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u5024\u3092\u51e6\u7406\u3059\u308b\u969b\u306b\u3088\u304f\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u7279\u306b\u6570\u5b66\u95a2\u6570\u3084\u8a08\u7b97\u304c\u591a\u3044\u90e8\u5206\u3067\u306f\u3001\u30b7\u30f3\u30d7\u30eb\u306a\u8a18\u8ff0\u3067\u6e08\u3080\u305f\u3081\u4fbf\u5229\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-11\">number_format()\u95a2\u6570\u306e\u9006\u64cd\u4f5c\u3067\u6570\u5024\u5f62\u5f0f\u3092\u8abf\u6574\u3059\u308b<\/h3>\n\n\n\n<p><code>number_format()<\/code>\u95a2\u6570\u306f\u53b3\u5bc6\u306b\u306f\u5909\u63db\u95a2\u6570\u3067\u306f\u306a\u304f\u3001\u6570\u5024\u3092\u6574\u5f62\u3055\u308c\u305f\u6587\u5b57\u5217\u306b\u5909\u63db\u3059\u308b\u95a2\u6570\u3067\u3059\u304c\u3001\u9006\u306e\u64cd\u4f5c\uff08\u6574\u5f62\u3055\u308c\u305f\u6587\u5b57\u5217\u304b\u3089\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\uff09\u3082\u91cd\u8981\u306a\u30c6\u30af\u30cb\u30c3\u30af\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>number_format()\u306e\u69cb\u6587<\/strong>:<\/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=\"\">string number_format(\n    float $num,\n    int $decimals = 0,\n    ?string $decimal_separator = \".\",\n    ?string $thousands_separator = \",\"\n): string\n<\/pre>\n\n\n\n<p><strong>\u30d1\u30e9\u30e1\u30fc\u30bf<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$num<\/code>: \u6574\u5f62\u3059\u308b\u6570\u5024<\/li>\n\n\n\n<li><code>$decimals<\/code>: \u5c0f\u6570\u70b9\u4ee5\u4e0b\u306e\u6841\u6570<\/li>\n\n\n\n<li><code>$decimal_separator<\/code>: \u5c0f\u6570\u70b9\u8a18\u53f7<\/li>\n\n\n\n<li><code>$thousands_separator<\/code>: \u6841\u533a\u5207\u308a\u8a18\u53f7<\/li>\n<\/ul>\n\n\n\n<p>\u6841\u533a\u5207\u308a\u8a18\u53f7\u304c\u5165\u3063\u305f\u6587\u5b57\u5217\uff08\u4f8b: \u201c1,234.56\u201d\uff09\u3092\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u623b\u3059\u306b\u306f\u3001\u307e\u305a\u6841\u533a\u5207\u308a\u8a18\u53f7\u3092\u9664\u53bb\u3057\u3066\u304b\u3089\u5909\u63db\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/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\/\/ \u6570\u5024\u3092\u6574\u5f62\u3055\u308c\u305f\u6587\u5b57\u5217\u306b\u5909\u63db\n$number = 1234.56;\n$formatted = number_format($number, 2, '.', ',');\necho $formatted;  \/\/ \u51fa\u529b: 1,234.56\n\n\/\/ \u6574\u5f62\u3055\u308c\u305f\u6587\u5b57\u5217\u3092\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u623b\u3059\uff08\u9006\u5909\u63db\uff09\n$formatted = \"1,234.56\";\n\/\/ \u6841\u533a\u5207\u308a\u30b3\u30f3\u30de\u3092\u9664\u53bb\n$cleaned = str_replace(',', '', $formatted);\n\/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n$float = (float)$cleaned;\necho $float;  \/\/ \u51fa\u529b: 1234.56\nvar_dump($float);  \/\/ float(1234.56)\n\n\/\/ \u5730\u57df\u8a2d\u5b9a\u304c\u7570\u306a\u308b\u5834\u5408\uff08\u4f8b: \u30e8\u30fc\u30ed\u30c3\u30d1\u30b9\u30bf\u30a4\u30eb\uff09\n$european = \"1.234,56\";  \/\/ \u30b3\u30f3\u30de\u304c\u5c0f\u6570\u70b9\u3001\u30d4\u30ea\u30aa\u30c9\u304c\u6841\u533a\u5207\u308a\n\/\/ \u307e\u305a\u6841\u533a\u5207\u308a\u306e\u30d4\u30ea\u30aa\u30c9\u3092\u9664\u53bb\n$step1 = str_replace('.', '', $european);\n\/\/ \u6b21\u306b\u5c0f\u6570\u70b9\u306e\u30b3\u30f3\u30de\u3092\u30d4\u30ea\u30aa\u30c9\u306b\u7f6e\u63db\n$step2 = str_replace(',', '.', $step1);\n\/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n$float = (float)$step2;\necho $float;  \/\/ \u51fa\u529b: 1234.56\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u9006\u5909\u63db\u64cd\u4f5c\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3084CSV\u30d5\u30a1\u30a4\u30eb\u3001API\u30ec\u30b9\u30dd\u30f3\u30b9\u306a\u3069\u3001\u6574\u5f62\u3055\u308c\u305f\u6570\u5024\u6587\u5b57\u5217\u3092\u51e6\u7406\u3059\u308b\u969b\u306b\u975e\u5e38\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-12\">3\u3064\u306e\u65b9\u6cd5\u306e\u6bd4\u8f03\u3068\u9078\u629e\u57fa\u6e96<\/h3>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u8868\u306f\u30013\u3064\u306e\u4e3b\u8981\u306a\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u5909\u63db\u65b9\u6cd5\u306e\u7279\u5fb4\u3092\u6bd4\u8f03\u3057\u305f\u3082\u306e\u3067\u3059\uff1a<\/p>\n\n\n<div id=\"id-4cc3cd23-6062-4c9f-9d98-5f9844212695\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u5fb4<\/th><th>floatval()<\/th><th>(float)\u30ad\u30e3\u30b9\u30c8<\/th><th>number_format()\u306e\u9006\u5909\u63db<\/th><\/tr><\/thead><tbody><tr><td>\u901f\u5ea6<\/td><td>\u901f\u3044<\/td><td>\u6700\u3082\u901f\u3044<\/td><td>\u51e6\u7406\u304c\u5fc5\u8981\u306a\u305f\u3081\u9045\u3044<\/td><\/tr><tr><td>\u8aad\u307f\u3084\u3059\u3055<\/td><td>\u660e\u793a\u7684<\/td><td>\u30b7\u30f3\u30d7\u30eb<\/td><td>\u3084\u3084\u8907\u96d1<\/td><\/tr><tr><td>\u6574\u5f62\u3055\u308c\u305f\u6570\u5024\u306e\u51e6\u7406<\/td><td>\u4e0d\u53ef<\/td><td>\u4e0d\u53ef<\/td><td>\u53ef\u80fd<\/td><\/tr><tr><td>\u79d1\u5b66\u7684\u8a18\u6570\u6cd5\u5bfe\u5fdc<\/td><td>\u5bfe\u5fdc<\/td><td>\u5bfe\u5fdc<\/td><td>\u4e8b\u524d\u5909\u63db\u304c\u5fc5\u8981<\/td><\/tr><tr><td>PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u5bfe\u5fdc<\/td><td>\u3059\u3079\u3066<\/td><td>\u3059\u3079\u3066<\/td><td>\u3059\u3079\u3066<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"i-13\">\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u5909\u63db\u6642\u306e\u6ce8\u610f\u70b9<\/h3>\n\n\n\n<p>\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u6271\u3046\u969b\u306b\u306f\u3001\u3044\u304f\u3064\u304b\u306e\u91cd\u8981\u306a\u6ce8\u610f\u70b9\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7cbe\u5ea6\u306e\u554f\u984c<\/strong>\uff1a\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306f\u5185\u90e8\u7684\u306b2\u9032\u6570\u3067\u8868\u73fe\u3055\u308c\u308b\u305f\u3081\u300110\u9032\u6570\u3067\u306f\u6b63\u78ba\u306b\u8868\u73fe\u3067\u304d\u306a\u3044\u5024\u304c\u3042\u308a\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\/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306e\u7cbe\u5ea6\u554f\u984c\n$a = 0.1 + 0.2;\necho $a;                \/\/ \u51fa\u529b: 0.3\uff08\u898b\u304b\u3051\u4e0a\u306f\u554f\u984c\u306a\u3057\uff09\nvar_dump($a == 0.3);    \/\/ bool(false)\uff08\u53b3\u5bc6\u306b\u306f0.3\u3068\u7b49\u3057\u304f\u306a\u3044\uff09\n\/\/ \u5b9f\u969b\u306b\u306f 0.30000000000000004 \u306e\u3088\u3046\u306a\u5024\u306b\u306a\u3063\u3066\u3044\u308b\n\n\/\/ \u89e3\u6c7a\u7b56: bcmath\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u4f7f\u7528\u3084\u3001\u5c0f\u6570\u70b9\u4ee5\u4e0b\u306e\u6841\u6570\u3092\u5236\u9650\u3059\u308b\necho round($a, 1);      \/\/ \u51fa\u529b: 0.3\nvar_dump(abs($a - 0.3) &lt; 0.00001);  \/\/ bool(true)\uff08\u8a31\u5bb9\u8aa4\u5dee\u5185\u3067\u306e\u6bd4\u8f03\uff09\n?&gt;\n<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u308b\u9055\u3044<\/strong>\uff1aPHP 8\u3067\u306f\u3001\u6570\u5024\u306b\u5909\u63db\u3067\u304d\u306a\u3044\u6587\u5b57\u5217\u306b\u5bfe\u3059\u308b\u8b66\u544a\u304c\u3088\u308a\u53b3\u683c\u306b\u306a\u308a\u307e\u3057\u305f\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\/\/ PHP 8\u3067\u306f\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3067\u8b66\u544a\u304c\u767a\u751f\n$str = \"hello\";\n$num = (float)$str;  \/\/ PHP 8.0: Warning: Implicit conversion from non-numeric string\n                     \/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\n?&gt;\n<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30ed\u30b1\u30fc\u30eb\uff08\u5730\u57df\u8a2d\u5b9a\uff09\u306e\u5f71\u97ff<\/strong>\uff1aOS\u306e\u30ed\u30b1\u30fc\u30eb\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u306f\u3001\u5c0f\u6570\u70b9\u8a18\u53f7\u304c\u7570\u306a\u308b\u5834\u5408\u304c\u3042\u308a\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\/\/ \u30ed\u30b1\u30fc\u30eb\u306b\u3088\u308b\u5c0f\u6570\u70b9\u8a18\u53f7\u306e\u9055\u3044\n\/\/ \u30c9\u30a4\u30c4\u8a9e\u306e\u30ed\u30b1\u30fc\u30eb\u3067\u306f\u5c0f\u6570\u70b9\u304c\u30b3\u30f3\u30de\u306b\u306a\u308b\nsetlocale(LC_NUMERIC, 'de_DE');\n$num = 1.5;\necho $num;  \/\/ \u30b7\u30b9\u30c6\u30e0\u306b\u3088\u3063\u3066\u306f \"1,5\" \u3068\u51fa\u529b\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\n\n\/\/ \u5b89\u5168\u306b\u51e6\u7406\u3059\u308b\u306b\u306f\u3001\u4e00\u6642\u7684\u306bC\u30ed\u30b1\u30fc\u30eb\u3092\u4f7f\u7528\u3059\u308b\u304b\u3001\u660e\u793a\u7684\u306b\u5909\u63db\u3059\u308b\nsetlocale(LC_NUMERIC, 'C');\necho $num;  \/\/ \u51fa\u529b: 1.5\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-14\">\u5b9f\u8df5\u7684\u306a\u4f7f\u7528\u4f8b<\/h3>\n\n\n\n<p>\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u304b\u3089\u91d1\u984d\u3092\u51e6\u7406\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\/\/ \u30e6\u30fc\u30b6\u30fc\u304c\u5165\u529b\u3057\u305f\u91d1\u984d\uff08\u30ab\u30f3\u30de\u533a\u5207\u308a\u3042\u308a\u3001\u901a\u8ca8\u8a18\u53f7\u3042\u308a\uff09\n$userInput = \"$1,234.56\";\n\n\/\/ \u901a\u8ca8\u8a18\u53f7\u3068\u6841\u533a\u5207\u308a\u3092\u9664\u53bb\n$cleaned = preg_replace('\/[^\\d.]\/', '', $userInput);\n\n\/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n$amount = (float)$cleaned;\n\n\/\/ \u8a08\u7b97\uff08\u4f8b: \u7a0e\u738710%\u3092\u8ffd\u52a0\uff09\n$taxRate = 0.1;\n$totalAmount = $amount * (1 + $taxRate);\n\n\/\/ \u7d50\u679c\u3092\u6574\u5f62\u3057\u3066\u8868\u793a\necho \"\u5143\u306e\u91d1\u984d: \" . $userInput . \"&lt;br&gt;\";\necho \"\u51e6\u7406\u5f8c\u306e\u91d1\u984d: $\" . number_format($amount, 2) . \"&lt;br&gt;\";\necho \"\u7a0e\u8fbc\u307f\u91d1\u984d: $\" . number_format($totalAmount, 2) . \"&lt;br&gt;\";\n\n\/\/ \u51fa\u529b:\n\/\/ \u5143\u306e\u91d1\u984d: $1,234.56\n\/\/ \u51e6\u7406\u5f8c\u306e\u91d1\u984d: $1,234.56\n\/\/ \u7a0e\u8fbc\u307f\u91d1\u984d: $1,358.02\n?&gt;\n<\/pre>\n\n\n\n<p>\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u5909\u63db\u306b\u304a\u3051\u308b\u6ce8\u610f\u70b9\u3068\u843d\u3068\u3057\u7a74\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-15\">\u5909\u63db\u306b\u304a\u3051\u308b\u6ce8\u610f\u70b9\u3068\u843d\u3068\u3057\u7a74<\/h2>\n\n\n\n<p>PHP\u306e\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u306f\u4e00\u898b\u30b7\u30f3\u30d7\u30eb\u306b\u898b\u3048\u307e\u3059\u304c\u3001\u5b9f\u52d9\u3067\u4f7f\u7528\u3059\u308b\u969b\u306b\u306f\u3044\u304f\u3064\u304b\u306e\u6ce8\u610f\u70b9\u3084\u843d\u3068\u3057\u7a74\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u3092\u7406\u89e3\u3057\u3066\u9069\u5207\u306b\u5bfe\u51e6\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u5b89\u5168\u3067\u5805\u7262\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u3088\u304f\u906d\u9047\u3059\u308b\u554f\u984c\u3068\u305d\u306e\u89e3\u6c7a\u7b56\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-16\">\u6587\u5b57\u5217\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u304c\u5909\u63db\u7d50\u679c\u306b\u4e0e\u3048\u308b\u5f71\u97ff<\/h3>\n\n\n\n<p>\u6587\u5b57\u5217\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306b\u3088\u3063\u3066\u3001\u6570\u5024\u3078\u306e\u5909\u63db\u7d50\u679c\u306f\u5927\u304d\u304f\u7570\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u7279\u306b\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3001\u5916\u90e8API\u304b\u3089\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3059\u308b\u969b\u306f\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-17\">\u7a7a\u767d\u6587\u5b57\u306e\u51e6\u7406<\/h4>\n\n\n\n<p>PHP\u3067\u306f\u3001\u6587\u5b57\u5217\u306e\u5148\u982d\u3084\u672b\u5c3e\u306e\u7a7a\u767d\u6587\u5b57\u306f\u5909\u63db\u6642\u306b\u7570\u306a\u308b\u6271\u3044\u3092\u53d7\u3051\u307e\u3059\u3002<\/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\/\/ \u5148\u982d\u306e\u7a7a\u767d\u306f\u7121\u8996\u3055\u308c\u308b\necho (int)\" 42\";      \/\/ \u51fa\u529b: 42\necho (float)\" 3.14\";  \/\/ \u51fa\u529b: 3.14\n\n\/\/ \u6570\u5024\u306e\u9593\u306e\u7a7a\u767d\u306f\u5909\u63db\u3092\u4e2d\u65ad\u3059\u308b\necho (int)\"4 2\";      \/\/ \u51fa\u529b: 4\uff08\" 2\"\u306f\u7121\u8996\u3055\u308c\u308b\uff09\necho (float)\"3. 14\";  \/\/ \u51fa\u529b: 3\uff08\". 14\"\u306f\u7121\u8996\u3055\u308c\u308b\uff09\n\n\/\/ \u672b\u5c3e\u306e\u7a7a\u767d\u306f\u554f\u984c\u306a\u3044\necho (int)\"42 \";      \/\/ \u51fa\u529b: 42\necho (float)\"3.14 \";  \/\/ \u51fa\u529b: 3.14\n\n\/\/ \u89e3\u6c7a\u7b56: \u5909\u63db\u524d\u306b\u7a7a\u767d\u3092\u9664\u53bb\u3059\u308b\n$input = \" 4 2 \";\n$cleaned = str_replace(\" \", \"\", $input);\necho (int)$cleaned;   \/\/ \u51fa\u529b: 42\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-18\">\u6570\u5024\u4ee5\u5916\u306e\u6587\u5b57\u3092\u542b\u3080\u6587\u5b57\u5217<\/h4>\n\n\n\n<p>\u6570\u5024\u4ee5\u5916\u306e\u6587\u5b57\u3092\u542b\u3080\u6587\u5b57\u5217\u3092\u5909\u63db\u3059\u308b\u5834\u5408\u3001PHP\u306f\u6700\u521d\u306e\u6570\u5024\u90e8\u5206\u306e\u307f\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u4fbf\u5229\u306a\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u304c\u3001\u4e88\u671f\u305b\u306c\u30d0\u30b0\u306e\u539f\u56e0\u306b\u3082\u306a\u308a\u307e\u3059\u3002<\/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\/\/ \u6570\u5024\u3067\u59cb\u307e\u308b\u6587\u5b57\u5217\necho (int)\"42abc\";     \/\/ \u51fa\u529b: 42\necho (float)\"3.14xyz\"; \/\/ \u51fa\u529b: 3.14\n\n\/\/ \u6570\u5024\u3067\u59cb\u307e\u3089\u306a\u3044\u6587\u5b57\u5217\necho (int)\"abc42\";     \/\/ \u51fa\u529b: 0\necho (float)\"xyz3.14\"; \/\/ \u51fa\u529b: 0\n\n\/\/ \u3088\u308a\u5b89\u5168\u306a\u65b9\u6cd5: \u6b63\u898f\u8868\u73fe\u3067\u6570\u5024\u90e8\u5206\u3092\u62bd\u51fa\n$input = \"\u4fa1\u683c\u306f\u00a512,345\u3067\u3059\";\npreg_match('\/[\\d,.]+\/', $input, $matches);\n$number = str_replace(',', '', $matches[0]);\necho (float)$number;   \/\/ \u51fa\u529b: 12345\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-19\">\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u5f71\u97ff<\/h4>\n\n\n\n<p>\u7570\u306a\u308b\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u7279\u306b\u975eASCII\u6587\u5b57\u3092\u542b\u3080\u6587\u5b57\u5217\u3067\u306f\u554f\u984c\u304c\u767a\u751f\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/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\/\/ UTF-8\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u7279\u6b8a\u6587\u5b57\u3092\u542b\u3080\u4f8b\n$price = \"\u20ac42.99\";  \/\/ \u30e6\u30fc\u30ed\u8a18\u53f7\u4ed8\u304d\n\/\/ \u5358\u7d14\u306a\u5909\u63db\u3067\u306f\u901a\u8ca8\u8a18\u53f7\u304c\u6b63\u3057\u304f\u51e6\u7406\u3055\u308c\u306a\u3044\u53ef\u80fd\u6027\necho (float)$price;  \/\/ PHP\u74b0\u5883\u306b\u3088\u3063\u3066\u306f0\u3084\u4e0d\u6b63\u306a\u5024\n\n\/\/ \u89e3\u6c7a\u7b56: \u6570\u5024\u90e8\u5206\u306e\u307f\u3092\u62bd\u51fa\n$numeric = preg_replace('\/[^\\d.]\/', '', $price);\necho (float)$numeric;  \/\/ \u51fa\u529b: 42.99\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-20\">\u5730\u57df\u8a2d\u5b9a\uff08\u30ed\u30b1\u30fc\u30eb\uff09\u306b\u3088\u308b\u5c0f\u6570\u70b9\u8a18\u53f7\u306e\u9055\u3044\u3078\u306e\u5bfe\u5fdc<\/h3>\n\n\n\n<p>\u4e16\u754c\u5404\u5730\u3067\u6570\u5024\u306e\u8868\u8a18\u65b9\u6cd5\u306f\u7570\u306a\u308a\u307e\u3059\u3002\u7279\u306b\u5c0f\u6570\u70b9\u3068\u6841\u533a\u5207\u308a\u306e\u8a18\u53f7\u306f\u5730\u57df\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u305f\u3081\u3001\u56fd\u969b\u7684\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-21\">\u4e3b\u306a\u6570\u5024\u8868\u8a18\u306e\u9055\u3044<\/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\/\/ \u7570\u306a\u308b\u5730\u57df\u306e\u6570\u5024\u8868\u8a18\n$us_format = \"1,234.56\";      \/\/ \u7c73\u56fd\u5f0f\uff08\u5c0f\u6570\u70b9\u306f\u30d4\u30ea\u30aa\u30c9\uff09\n$eu_format = \"1.234,56\";      \/\/ \u6b27\u5dde\u5f0f\uff08\u5c0f\u6570\u70b9\u306f\u30ab\u30f3\u30de\uff09\n$fr_format = \"1 234,56\";      \/\/ \u30d5\u30e9\u30f3\u30b9\u5f0f\uff08\u6841\u533a\u5207\u308a\u306f\u30b9\u30da\u30fc\u30b9\uff09\n\n\/\/ \u6a19\u6e96\u306e\u5909\u63db\u95a2\u6570\u3067\u306f\u6b63\u3057\u304f\u51e6\u7406\u3067\u304d\u306a\u3044\u5834\u5408\u304c\u3042\u308b\necho (float)$us_format;  \/\/ \u51fa\u529b: 1234.56\uff08\u6b63\u3057\u3044\uff09\necho (float)$eu_format;  \/\/ \u51fa\u529b: 1.234\uff08\u9593\u9055\u3044 - 56\u306f\u7121\u8996\u3055\u308c\u308b\uff09\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-22\">\u30ed\u30b1\u30fc\u30eb\u3092\u8003\u616e\u3057\u305f\u5909\u63db\u65b9\u6cd5<\/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\/\/ \u30ed\u30b1\u30fc\u30eb\u306e\u8a2d\u5b9a\nsetlocale(LC_NUMERIC, 'de_DE');  \/\/ \u30c9\u30a4\u30c4\u306e\u30ed\u30b1\u30fc\u30eb\uff08\u5c0f\u6570\u70b9\u304c\u30ab\u30f3\u30de\uff09\n\n\/\/ \u30ed\u30b1\u30fc\u30eb\u60c5\u5831\u306e\u53d6\u5f97\n$locale_info = localeconv();\nvar_dump($locale_info['decimal_point']);   \/\/ string(1) \",\"\nvar_dump($locale_info['thousands_sep']);   \/\/ string(1) \".\"\n\n\/\/ \u30ed\u30b1\u30fc\u30eb\u3092\u8003\u616e\u3057\u305f\u5909\u63db\u95a2\u6570\nfunction localeToFloat($number_str) {\n    $locale_info = localeconv();\n    \n    \/\/ \u30b9\u30c6\u30c3\u30d71: \u6841\u533a\u5207\u308a\u6587\u5b57\u3092\u4e00\u6642\u7684\u306b\u7f6e\u304d\u63db\u3048\n    $temp = str_replace($locale_info['thousands_sep'], '', $number_str);\n    \n    \/\/ \u30b9\u30c6\u30c3\u30d72: \u5c0f\u6570\u70b9\u6587\u5b57\u3092\u30d4\u30ea\u30aa\u30c9\u306b\u7f6e\u304d\u63db\u3048\uff08PHP\u306efloat\u8868\u8a18\u7528\uff09\n    $temp = str_replace($locale_info['decimal_point'], '.', $temp);\n    \n    \/\/ \u30b9\u30c6\u30c3\u30d73: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n    return (float)$temp;\n}\n\n\/\/ \u7570\u306a\u308b\u30ed\u30b1\u30fc\u30eb\u3067\u306e\u5909\u63db\n$eu_number = \"1.234,56\";\necho localeToFloat($eu_number);  \/\/ \u51fa\u529b: 1234.56\uff08\u6b63\u3057\u304f\u5909\u63db\uff09\n\n\/\/ \u91cd\u8981: \u51e6\u7406\u5f8c\u306f\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u30ed\u30b1\u30fc\u30eb\u3092\u623b\u3059\nsetlocale(LC_NUMERIC, 'C');  \/\/ \u6a19\u6e96\u306eC\u30ed\u30b1\u30fc\u30eb\u306b\u623b\u3059\n?&gt;\n<\/pre>\n\n\n\n<p>\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30ed\u30b1\u30fc\u30eb\u3092\u691c\u51fa\u3057\u3066\u9069\u5207\u306b\u51e6\u7406\u3059\u308b\u304b\u3001\u5165\u529b\u5f62\u5f0f\u3092\u660e\u793a\u7684\u306b\u6307\u5b9a\u3059\u308b\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-23\">\u79d1\u5b66\u7684\u8a18\u6570\u6cd5\uff081.2e3\u306a\u3069\uff09\u3092\u542b\u3080\u6587\u5b57\u5217\u306e\u6b63\u3057\u3044\u5909\u63db<\/h3>\n\n\n\n<p>\u79d1\u5b66\u7684\u8a18\u6570\u6cd5\uff08\u6307\u6570\u8868\u8a18\uff09\u306f\u3001\u975e\u5e38\u306b\u5927\u304d\u306a\u6570\u5024\u3084\u5c0f\u3055\u306a\u6570\u5024\u3092\u8868\u73fe\u3059\u308b\u969b\u306b\u4fbf\u5229\u3067\u3059\u304c\u3001\u5909\u63db\u6642\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/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\/\/ \u79d1\u5b66\u7684\u8a18\u6570\u6cd5\u306e\u57fa\u672c\necho (float)\"1.2e3\";     \/\/ \u51fa\u529b: 1200 (1.2 \u00d7 10^3)\necho (float)\"7E-2\";      \/\/ \u51fa\u529b: 0.07 (7 \u00d7 10^-2)\n\n\/\/ \u6587\u5b57\u5217\u306b\u6df7\u5728\u3059\u308b\u5834\u5408\necho (float)\"\u8ddd\u96e2\u306f1.2e3km\";  \/\/ \u51fa\u529b: 1200\uff08\"km\"\u306f\u7121\u8996\u3055\u308c\u308b\uff09\n\n\/\/ \u5927\u304d\u306a\u6570\u5024\u306e\u5834\u5408\u306f\u7cbe\u5ea6\u306b\u6ce8\u610f\necho (float)\"1.23456789e15\";  \/\/ \u5927\u304d\u306a\u6570\u5024\u3067\u306f\u7cbe\u5ea6\u304c\u5931\u308f\u308c\u308b\u53ef\u80fd\u6027\n\n\/\/ BCMath\u3092\u4f7f\u7528\u3057\u305f\u9ad8\u7cbe\u5ea6\u51e6\u7406\nif (function_exists('bcmul')) {\n    $num = \"1.23456789e5\";\n    \/\/ \u6307\u6570\u90e8\u3068\u4eee\u6570\u90e8\u306b\u5206\u5272\n    if (preg_match('\/^([+-]?\\d*\\.?\\d*)e([+-]?\\d+)$\/i', $num, $matches)) {\n        $mantissa = $matches[1];\n        $exponent = (int)$matches[2];\n        \n        if ($exponent &gt; 0) {\n            \/\/ \u6b63\u306e\u6307\u6570\uff08\u5927\u304d\u306a\u6570\uff09\n            $result = bcmul($mantissa, bcpow('10', $exponent, 10), 10);\n        } else {\n            \/\/ \u8ca0\u306e\u6307\u6570\uff08\u5c0f\u3055\u306a\u6570\uff09\n            $result = bcdiv($mantissa, bcpow('10', abs($exponent), 10), 10);\n        }\n        \n        echo \"\u9ad8\u7cbe\u5ea6\u51e6\u7406\u7d50\u679c: \" . $result;\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p>\u79d1\u5b66\u7684\u8a18\u6570\u6cd5\u306f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3084\u8a08\u7b97\u7d50\u679c\u304b\u3089\u53d6\u5f97\u3057\u305f\u5024\u306b\u3088\u304f\u898b\u3089\u308c\u307e\u3059\u3002PHP\u306e\u6a19\u6e96\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u5909\u63db\u306f\u591a\u304f\u306e\u5834\u5408\u3067\u5341\u5206\u3067\u3059\u304c\u3001\u9ad8\u7cbe\u5ea6\u304c\u5fc5\u8981\u306a\u5834\u5408\u306fBCMath\u3084GMP\u306a\u3069\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-24\">PHP 7.x\u3068PHP 8.x\u3067\u306e\u5909\u63db\u6319\u52d5\u306e\u9055\u3044<\/h3>\n\n\n\n<p>PHP 8\u3067\u306f\u578b\u306b\u95a2\u3059\u308b\u51e6\u7406\u304c\u3088\u308a\u53b3\u683c\u306b\u306a\u308a\u3001\u4ee5\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u8b66\u544a\u306a\u304f\u884c\u308f\u308c\u3066\u3044\u305f\u5909\u63db\u304c\u8b66\u544a\u3084\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/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\/\/ PHP 7.x\u30688.x\u306e\u9055\u3044\n\n\/\/ \u6570\u5024\u3067\u306a\u3044\u6587\u5b57\u5217\u306e\u5909\u63db\n$non_numeric = \"hello\";\n$result = (float)$non_numeric;\n\/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$result = 0\n\/\/ PHP 8.x: Warning: A non-numeric value encountered\u3001$result = 0\n\n\/\/ \u914d\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\n$arr = [1, 2, 3];\n$result = (int)$arr;\n\/\/ PHP 7.x: Notice: Array to int conversion\u3001$result = 1\n\/\/ PHP 8.x: Warning: Array to int conversion\u3001$result = 1\n\n\/\/ \u3088\u308a\u5b89\u5168\u306a\u30b3\u30fc\u30c9\uff08PHP 8\u5bfe\u5fdc\uff09\nfunction safeFloatVal($value) {\n    if (is_numeric($value)) {\n        return (float)$value;\n    } else {\n        \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u8fd4\u3059\u304b\u3001\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3059\u308b\u304b\u3001\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u306a\u3069\n        return 0.0;  \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n    }\n}\n\necho safeFloatVal(\"3.14\");     \/\/ \u51fa\u529b: 3.14\necho safeFloatVal(\"hello\");    \/\/ \u51fa\u529b: 0\uff08\u8b66\u544a\u306a\u3057\uff09\n?&gt;\n<\/pre>\n\n\n\n<p>PHP\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u6642\u306b\u306f\u578b\u5909\u63db\u306b\u95a2\u3059\u308b\u6319\u52d5\u306e\u5909\u66f4\u70b9\u3092\u3057\u3063\u304b\u308a\u78ba\u8a8d\u3057\u3001\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u30b3\u30fc\u30c9\u3092\u66f4\u65b0\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-25\">\u5b9f\u8df5\u7684\u306a\u5bfe\u5fdc\u7b56<\/h3>\n\n\n\n<p>\u4ee5\u4e0a\u306e\u843d\u3068\u3057\u7a74\u3092\u8003\u616e\u3057\u305f\u3001\u5b9f\u52d9\u3067\u4f7f\u3048\u308b\u5b89\u5168\u306a\u5909\u63db\u95a2\u6570\u306e\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/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 * \u69d8\u3005\u306a\u5f62\u5f0f\u306e\u6587\u5b57\u5217\u3092\u5b89\u5168\u306b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\u3059\u308b\n * \n * @param string $value \u5909\u63db\u3059\u308b\u6587\u5b57\u5217\n * @param float $default \u5909\u63db\u3067\u304d\u306a\u3044\u5834\u5408\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n * @param bool $strict \u53b3\u683c\u30e2\u30fc\u30c9\uff08true: \u5909\u63db\u3067\u304d\u306a\u3044\u5834\u5408\u306fnull\u3092\u8fd4\u3059\uff09\n * @return float|null \u5909\u63db\u7d50\u679c\u307e\u305f\u306fnull\n *\/\nfunction safeFloatConversion($value, $default = 0.0, $strict = false) {\n    \/\/ \u7a7a\u306e\u5024\u3092\u30c1\u30a7\u30c3\u30af\n    if ($value === null || $value === '') {\n        return $strict ? null : $default;\n    }\n    \n    \/\/ \u65e2\u306b\u6570\u5024\u578b\u306a\u3089\u305d\u306e\u307e\u307e\u8fd4\u3059\n    if (is_float($value) || is_int($value)) {\n        return (float)$value;\n    }\n    \n    \/\/ \u6570\u5024\u3068\u3057\u3066\u6271\u3048\u308b\u304b\u30c1\u30a7\u30c3\u30af\n    if (!is_string($value) || !is_numeric(trim($value))) {\n        \/\/ \u6570\u5024\u3067\u306f\u306a\u3044\u5834\u5408\u3001\u901a\u8ca8\u8a18\u53f7\u306a\u3069\u3092\u9664\u53bb\u3057\u3066\u518d\u8a66\u884c\n        if (is_string($value)) {\n            \/\/ \u6841\u533a\u5207\u308a\u30b3\u30f3\u30de\u3092\u9664\u53bb\n            $cleaned = str_replace(',', '', $value);\n            \/\/ \u6570\u5024\u4ee5\u5916\u306e\u6587\u5b57\u3092\u9664\u53bb\n            $cleaned = preg_replace('\/[^\\d.-]\/', '', $cleaned);\n            \n            if (is_numeric($cleaned)) {\n                return (float)$cleaned;\n            }\n        }\n        \n        return $strict ? null : $default;\n    }\n    \n    \/\/ \u5b89\u5168\u306b\u5909\u63db\n    return (float)trim($value);\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$tests = [\n    \"42\",\n    \"3.14\",\n    \"1,234.56\",\n    \"$99.99\",\n    \"\u20ac42.99\",\n    \"\uff11\uff12\uff13\uff14.\uff15\uff16\", \/\/ \u5168\u89d2\u6570\u5b57\n    \"abc\",\n    \"\"\n];\n\nforeach ($tests as $test) {\n    $result = safeFloatConversion($test);\n    echo \"\u5165\u529b: '{$test}' \u2192 \u5909\u63db\u7d50\u679c: {$result}\\n\";\n}\n\n\/\/ \u79d1\u5b66\u7684\u8a18\u6570\u6cd5\u306e\u5909\u63db\nfunction parseScientificNotation($value) {\n    if (preg_match('\/^([+-]?\\d*\\.?\\d*)e([+-]?\\d+)$\/i', $value, $matches)) {\n        $mantissa = (float)$matches[1];\n        $exponent = (int)$matches[2];\n        return $mantissa * pow(10, $exponent);\n    }\n    return null;\n}\n\n$scientific = \"1.23e4\";\necho \"\u79d1\u5b66\u7684\u8a18\u6570\u6cd5: {$scientific} \u2192 \" . parseScientificNotation($scientific);\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u5b9f\u8df5\u7684\u306a\u95a2\u6570\u306f\u3001\u591a\u304f\u306e\u4e00\u822c\u7684\u306a\u30b1\u30fc\u30b9\u3092\u30ab\u30d0\u30fc\u3057\u3001\u4e88\u671f\u305b\u306c\u30a8\u30e9\u30fc\u3092\u9632\u3050\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002\u5b9f\u969b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u8981\u4ef6\u306b\u5fdc\u3058\u3066\u3055\u3089\u306b\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3059\u308b\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u5909\u63db\u306b\u304a\u3051\u308b\u843d\u3068\u3057\u7a74\u3092\u7406\u89e3\u3057\u9069\u5207\u306b\u5bfe\u51e6\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u5805\u7262\u3067\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3057\u3084\u3059\u3044PHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u578b\u5909\u63db\u306b\u304a\u3051\u308b\u53b3\u683c\u3055\u3068\u7de9\u3084\u304b\u3055\u306e\u30d0\u30e9\u30f3\u30b9\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-26\">\u578b\u5909\u63db\u306b\u304a\u3051\u308b\u53b3\u683c\u3055\u3068\u7de9\u3084\u304b\u3055\u306e\u30d0\u30e9\u30f3\u30b9<\/h2>\n\n\n\n<p>PHP\u306f\u300c\u5f31\u3044\u578b\u4ed8\u3051\u8a00\u8a9e\u300d\u3068\u3057\u3066\u77e5\u3089\u308c\u3066\u304a\u308a\u3001\u4ed6\u306e\u8a00\u8a9e\u3068\u6bd4\u8f03\u3057\u3066\u578b\u5909\u63db\u306b\u5bfe\u3057\u3066\u6bd4\u8f03\u7684\u7de9\u3084\u304b\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u53d6\u308a\u307e\u3059\u3002\u3053\u306e\u7279\u6027\u306f\u958b\u767a\u306e\u67d4\u8edf\u6027\u3092\u3082\u305f\u3089\u3059\u4e00\u65b9\u3067\u3001\u4e88\u671f\u305b\u306c\u30d0\u30b0\u306e\u539f\u56e0\u306b\u3082\u306a\u308a\u5f97\u307e\u3059\u3002\u5b9f\u52d9\u3067\u306f\u3001\u3053\u306e\u7de9\u3084\u304b\u3055\u3068\u53b3\u683c\u3055\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u9069\u5207\u306b\u53d6\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-27\">\u7de9\u3084\u304b\u306a\u5909\u63db\u3067\u30b3\u30fc\u30c9\u53ef\u8aad\u6027\u3092\u9ad8\u3081\u308b\u5834\u9762<\/h3>\n\n\n\n<p>PHP\u306e\u7de9\u3084\u304b\u306a\u578b\u5909\u63db\uff08\u5f31\u3044\u578b\u4ed8\u3051\uff09\u306f\u3001\u7c21\u6f54\u3067\u8aad\u307f\u3084\u3059\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u4e0a\u3067\u5f79\u7acb\u3064\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u7279\u306b\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u306e\u5024\u3092\u6271\u3046\u969b\u306b\u4fbf\u5229\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-28\">\u7de9\u3084\u304b\u306a\u5909\u63db\u306e\u5229\u70b9<\/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\/\/ 1. \u7c21\u6f54\u306a\u30b3\u30fc\u30c9\n$id = $_GET['id'];  \/\/ \u6587\u5b57\u5217\u3068\u3057\u3066\u53d6\u5f97\u3055\u308c\u308b\u304c...\n$product = getProductById($id);  \/\/ \u6570\u5024\u3068\u3057\u3066\u6271\u308f\u308c\u308b\n\n\/\/ 2. \u6761\u4ef6\u5206\u5c90\u3067\u306e\u4f7f\u3044\u3084\u3059\u3055\n$quantity = $_POST['quantity'] ?: 1;  \/\/ \u7a7a\u6587\u5b57\u5217\u30840\u306f1\u306b\u7f6e\u304d\u63db\u3048\n\n\/\/ 3. \u914d\u5217\u304b\u3089\u306e\u5024\u306e\u53d6\u5f97\u3068\u5909\u63db\u3092\u4e00\u5ea6\u306b\n$settings = [\n    'max_items' =&gt; '10',\n    'enable_feature' =&gt; '1',\n    'discount' =&gt; '5.5'\n];\n\n\/\/ \u578b\u3092\u6c17\u306b\u305b\u305a\u306b\u4f7f\u7528\n$maxItems = $settings['max_items'] + 0;  \/\/ 10\uff08\u6574\u6570\uff09\n$isEnabled = (bool)$settings['enable_feature'];  \/\/ true\n$discount = $settings['discount'] * 1.0;  \/\/ 5.5\uff08\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\uff09\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-29\">\u7de9\u3084\u304b\u306a\u5909\u63db\u304c\u6709\u52b9\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30d7\u30ed\u30c8\u30bf\u30a4\u30d4\u30f3\u30b0\u3068\u5c0f\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/strong>\uff1a \u958b\u767a\u901f\u5ea6\u304c\u91cd\u8981\u3067\u3001\u578b\u306e\u30df\u30b9\u30de\u30c3\u30c1\u306b\u3088\u308b\u30ea\u30b9\u30af\u304c\u9650\u5b9a\u7684\u306a\u5834\u5408<\/li>\n\n\n\n<li><strong>\u5358\u7d14\u306a\u30c7\u30fc\u30bf\u51e6\u7406<\/strong>\uff1a \u8907\u96d1\u306a\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u3092\u542b\u307e\u305a\u3001\u578b\u5909\u63db\u304c\u76f4\u611f\u7684\u306a\u5834\u5408<\/li>\n\n\n\n<li><strong>\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u3068\u306e\u4e92\u63db\u6027<\/strong>\uff1a \u65e2\u5b58\u306e\u7de9\u3084\u304b\u306a\u578b\u30b7\u30b9\u30c6\u30e0\u306b\u5408\u308f\u305b\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408<\/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\/\/ \u7c21\u6613\u7684\u306a\u30b7\u30e7\u30c3\u30d4\u30f3\u30b0\u30ab\u30fc\u30c8\u8a08\u7b97\nfunction calculateTotal($items, $taxRate = '0.1') {\n    $total = 0;\n    \n    foreach ($items as $item) {\n        \/\/ \u4fa1\u683c\u304c\u6587\u5b57\u5217\u3067\u3082\u81ea\u52d5\u7684\u306b\u6570\u5024\u3068\u3057\u3066\u6271\u308f\u308c\u308b\n        $total += $item['price'] * $item['quantity'];\n    }\n    \n    \/\/ \u7a0e\u7387\u3082\u6587\u5b57\u5217\u3067\u3082\u554f\u984c\u306a\u304f\u8a08\u7b97\u3067\u304d\u308b\n    return $total * (1 + $taxRate);\n}\n\n$items = [\n    ['name' =&gt; '\u5546\u54c1A', 'price' =&gt; '1000', 'quantity' =&gt; 2],\n    ['name' =&gt; '\u5546\u54c1B', 'price' =&gt; '500', 'quantity' =&gt; '3']\n];\n\necho calculateTotal($items);  \/\/ \u51fa\u529b: 3850\n?&gt;\n<\/pre>\n\n\n\n<p>\u7de9\u3084\u304b\u306a\u578b\u5909\u63db\u3092\u4f7f\u7528\u3059\u308b\u969b\u306f\u3001\u305d\u306e\u52d5\u4f5c\u3092\u7406\u89e3\u3057\u3001\u6f5c\u5728\u7684\u306a\u554f\u984c\u70b9\u3092\u628a\u63e1\u3057\u3066\u304a\u304f\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u4f8b\u3048\u3070\u3001\u6587\u5b57\u5217\u306e\u6bd4\u8f03\u3067\u306f\u4e88\u671f\u305b\u306c\u7d50\u679c\u304c\u751f\u3058\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\/\/ \u6ce8\u610f\u3059\u3079\u304d\u7de9\u3084\u304b\u306a\u6bd4\u8f03\uff08==\uff09\u306e\u4f8b\nvar_dump(\"10\" == 10);      \/\/ bool(true) - \u578b\u5f37\u5236\u306b\u3088\u308a\u7b49\u3057\u3044\u3068\u5224\u5b9a\nvar_dump(\"10.0\" == 10);    \/\/ bool(true) - \u578b\u5f37\u5236\u306b\u3088\u308a\u7b49\u3057\u3044\u3068\u5224\u5b9a\nvar_dump(\"10abc\" == 10);   \/\/ bool(true) - \u6587\u5b57\u5217\u304c\u6570\u5024\u306e10\u3068\u3057\u3066\u89e3\u91c8\u3055\u308c\u308b\nvar_dump(\"abc\" == 0);      \/\/ bool(true) - \u6570\u5024\u3092\u542b\u307e\u306a\u3044\u6587\u5b57\u5217\u306f0\u3068\u3057\u3066\u6271\u308f\u308c\u308b\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-30\">\u53b3\u683c\u306a\u5909\u63db\u3067\u30d0\u30b0\u3092\u672a\u7136\u306b\u9632\u3050\u30a2\u30d7\u30ed\u30fc\u30c1<\/h3>\n\n\n\n<p>\u8fd1\u5e74\u306ePHP\u306e\u9032\u5316\u306b\u4f34\u3044\u3001\u3088\u308a\u53b3\u683c\u306a\u578b\u30c1\u30a7\u30c3\u30af\u3084\u578b\u5ba3\u8a00\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u3089\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u6f5c\u5728\u7684\u306a\u30d0\u30b0\u3092\u65e9\u671f\u306b\u767a\u898b\u3057\u3001\u30b3\u30fc\u30c9\u306e\u4fe1\u983c\u6027\u3092\u9ad8\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-31\">\u53b3\u683c\u306a\u5909\u63db\u306e\u5b9f\u88c5\u65b9\u6cd5<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u660e\u793a\u7684\u306a\u578b\u5909\u63db\u95a2\u6570\u306e\u4f7f\u7528<\/strong>\uff1a<\/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\/\/ \u660e\u793a\u7684\u306a\u578b\u5909\u63db\u95a2\u6570\n$quantity = intval($_POST['quantity']);\n$price = floatval($_POST['price']);\n$isActive = (bool)($_POST['status'] ?? false);\n\n\/\/ \u578b\u3092\u78ba\u8a8d\u3057\u3066\u304b\u3089\u51e6\u7406\nif (!is_numeric($_POST['amount'])) {\n    throw new InvalidArgumentException('\u91d1\u984d\u306f\u6570\u5024\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059');\n}\n?&gt;\n<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u578b\u5ba3\u8a00\u306e\u6d3b\u7528\uff08PHP 7\u4ee5\u964d\uff09<\/strong>\uff1a<\/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\/\/ \u5f15\u6570\u3068\u623b\u308a\u5024\u306e\u578b\u5ba3\u8a00\nfunction calculateDiscount(float $price, int $percent): float {\n    return $price * (1 - ($percent \/ 100));\n}\n\n\/\/ Nullable\u578b\uff08PHP 7.1\u4ee5\u964d\uff09\nfunction getProductPrice(?int $productId): ?float {\n    if ($productId === null) {\n        return null;\n    }\n    \/\/ \u51e6\u7406...\n    return 1299.99;\n}\n\n\/\/ Union\u578b\uff08PHP 8.0\u4ee5\u964d\uff09\nfunction processValue(int|float $value): string {\n    return \"\u51e6\u7406\u7d50\u679c: \" . $value;\n}\n?&gt;\n<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>strict_types\u306e\u5ba3\u8a00<\/strong>\uff1a<\/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\/\/ \u30d5\u30a1\u30a4\u30eb\u306e\u5148\u982d\u3067\u5ba3\u8a00\ndeclare(strict_types=1);\n\n\/\/ \u53b3\u683c\u306a\u578b\u30c1\u30a7\u30c3\u30af\u304c\u9069\u7528\u3055\u308c\u308b\nfunction add(int $a, int $b): int {\n    return $a + $b;\n}\n\n\/\/ \u6587\u5b57\u5217\u3092\u6e21\u3059\u3068TypeError\u304c\u767a\u751f\ntry {\n    echo add(\"5\", 10);  \/\/ TypeError: add(): Argument #1 ($a) must be of type int, string given\n} catch (TypeError $e) {\n    echo $e-&gt;getMessage();\n}\n?&gt;\n<\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>\u578b\u306e\u53b3\u683c\u306a\u6bd4\u8f03<\/strong>\uff1a<\/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\/\/ \u53b3\u683c\u306a\u6bd4\u8f03\u6f14\u7b97\u5b50\uff08===\uff09\u306e\u4f7f\u7528\nif ($status === true) {\n    \/\/ $status\u304cbool\u578b\u306etrue\u306e\u5834\u5408\u306e\u307f\u5b9f\u884c\n}\n\nif ($id === null) {\n    \/\/ $id\u304cnull\u306e\u5834\u5408\u306e\u307f\u5b9f\u884c\uff080\u3084\u7a7a\u6587\u5b57\u5217\u3067\u306f\u306a\u3044\uff09\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-32\">\u53b3\u683c\u306a\u5909\u63db\u304c\u6709\u52b9\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5927\u898f\u6a21\u306a\u30c1\u30fc\u30e0\u958b\u767a<\/strong>\uff1a \u8907\u6570\u306e\u958b\u767a\u8005\u304c\u5354\u529b\u3059\u308b\u5834\u5408\u3001\u578b\u306e\u660e\u793a\u6027\u304c\u30b3\u30fc\u30c9\u306e\u7406\u89e3\u3092\u52a9\u3051\u308b<\/li>\n\n\n\n<li><strong>\u9577\u671f\u7684\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/strong>\uff1a \u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u6027\u3092\u91cd\u8996\u3059\u308b\u5834\u5408\u3001\u53b3\u683c\u306a\u578b\u30c1\u30a7\u30c3\u30af\u304c\u5c06\u6765\u7684\u306a\u30d0\u30b0\u3092\u9632\u3050<\/li>\n\n\n\n<li><strong>\u91cd\u8981\u306a\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af<\/strong>\uff1a \u91d1\u878d\u8a08\u7b97\u3084\u91cd\u8981\u306a\u30c7\u30fc\u30bf\u51e6\u7406\u3067\u306f\u3001\u578b\u306e\u8aa4\u308a\u306b\u3088\u308b\u30ea\u30b9\u30af\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u308b\u5fc5\u8981\u304c\u3042\u308b<\/li>\n\n\n\n<li><strong>API\u3084\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u958b\u767a<\/strong>\uff1a \u4ed6\u306e\u958b\u767a\u8005\u304c\u4f7f\u7528\u3059\u308b\u30b3\u30fc\u30c9\u3067\u306f\u3001\u660e\u78ba\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u91cd\u8981<\/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\ndeclare(strict_types=1);\n\n\/\/ \u9280\u884c\u632f\u8fbc\u51e6\u7406\u306e\u4f8b\nclass BankTransfer {\n    public function transfer(\n        int $fromAccountId, \n        int $toAccountId, \n        float $amount,\n        string $currency = 'JPY'\n    ): bool {\n        \/\/ \u91d1\u984d\u304c\u6b63\u306e\u5024\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\n        if ($amount &lt;= 0) {\n            throw new InvalidArgumentException('\u91d1\u984d\u306f\u6b63\u306e\u5024\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059');\n        }\n        \n        \/\/ \u53e3\u5ea7\u306e\u5b58\u5728\u78ba\u8a8d\n        if (!$this-&gt;accountExists($fromAccountId)) {\n            throw new InvalidArgumentException('\u9001\u91d1\u5143\u53e3\u5ea7\u304c\u5b58\u5728\u3057\u307e\u305b\u3093');\n        }\n        \n        if (!$this-&gt;accountExists($toAccountId)) {\n            throw new InvalidArgumentException('\u9001\u91d1\u5148\u53e3\u5ea7\u304c\u5b58\u5728\u3057\u307e\u305b\u3093');\n        }\n        \n        \/\/ \u6b8b\u9ad8\u78ba\u8a8d\n        if (!$this-&gt;hasEnoughBalance($fromAccountId, $amount)) {\n            throw new InsufficientBalanceException('\u6b8b\u9ad8\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059');\n        }\n        \n        \/\/ \u632f\u8fbc\u51e6\u7406\uff08\u5b9f\u88c5\u7701\u7565\uff09\n        return true;\n    }\n    \n    private function accountExists(int $accountId): bool {\n        \/\/ \u5b9f\u88c5\u7701\u7565\n        return true;\n    }\n    \n    private function hasEnoughBalance(int $accountId, float $amount): bool {\n        \/\/ \u5b9f\u88c5\u7701\u7565\n        return true;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\ntry {\n    $transfer = new BankTransfer();\n    $result = $transfer-&gt;transfer(12345, 67890, 10000.00);\n    echo \"\u632f\u8fbc\u6210\u529f\";\n} catch (InvalidArgumentException $e) {\n    echo \"\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage();\n} catch (InsufficientBalanceException $e) {\n    echo \"\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage();\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-33\">\u5b9f\u52d9\u3067\u306e\u6700\u9069\u306a\u30d0\u30e9\u30f3\u30b9\u306e\u53d6\u308a\u65b9<\/h3>\n\n\n\n<p>\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001\u7de9\u3084\u304b\u306a\u578b\u5909\u63db\u3068\u53b3\u683c\u306a\u578b\u5909\u63db\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u9069\u5207\u306b\u53d6\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u4ee5\u4e0b\u306f\u3001\u5b9f\u52d9\u306b\u304a\u3051\u308b\u63a8\u5968\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u3059\uff1a<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-34\">1. \u5165\u529b\u30c7\u30fc\u30bf\u306e\u691c\u8a3c\u3068\u5909\u63db<\/h4>\n\n\n\n<p>\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u306e\u30c7\u30fc\u30bf\u306a\u3069\u3001\u5916\u90e8\u304b\u3089\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3059\u308b\u969b\u306f\u3001\u307e\u305a\u691c\u8a3c\u3057\u3066\u304b\u3089\u660e\u793a\u7684\u306b\u5909\u63db\u3059\u308b\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/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\u304b\u3089\u306e\u5165\u529b\u51e6\u7406\nfunction processFormData(array $formData): array {\n    $processed = [];\n    \n    \/\/ \u6574\u6570\u30d5\u30a3\u30fc\u30eb\u30c9\n    $processed['user_id'] = filter_var(\n        $formData['user_id'] ?? '', \n        FILTER_VALIDATE_INT,\n        ['options' =&gt; ['default' =&gt; 0, 'min_range' =&gt; 1]]\n    );\n    \n    \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u30d5\u30a3\u30fc\u30eb\u30c9\n    $processed['amount'] = filter_var(\n        $formData['amount'] ?? '',\n        FILTER_VALIDATE_FLOAT,\n        ['options' =&gt; ['default' =&gt; 0.0, 'min_range' =&gt; 0.01]]\n    );\n    \n    \/\/ \u771f\u507d\u5024\u30d5\u30a3\u30fc\u30eb\u30c9\n    $processed['subscribe'] = filter_var(\n        $formData['subscribe'] ?? '',\n        FILTER_VALIDATE_BOOLEAN\n    );\n    \n    return $processed;\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-35\">2. \u30b3\u30a2\u6a5f\u80fd\u306b\u306f\u578b\u5ba3\u8a00\u3092\u4f7f\u7528<\/h4>\n\n\n\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30b3\u30a2\u6a5f\u80fd\u3084\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u306b\u306f\u3001\u578b\u5ba3\u8a00\u3092\u7a4d\u6975\u7684\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/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\/\/ \u5546\u54c1\u4fa1\u683c\u8a08\u7b97\u306e\u30b3\u30a2\u6a5f\u80fd\nclass PriceCalculator {\n    public function calculateFinalPrice(\n        float $basePrice, \n        int $quantity, \n        ?float $discountRate = null\n    ): float {\n        $subtotal = $basePrice * $quantity;\n        \n        if ($discountRate !== null) {\n            $discount = $subtotal * $discountRate;\n            $subtotal -= $discount;\n        }\n        \n        return max(0, $subtotal);\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-36\">3. \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5408\u308f\u305b\u305f\u4e00\u8cab\u3057\u305f\u30b9\u30bf\u30a4\u30eb\u306e\u63a1\u7528<\/h4>\n\n\n\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3067\u4e00\u8cab\u3057\u305f\u578b\u5909\u63db\u306e\u30b9\u30bf\u30a4\u30eb\u3092\u63a1\u7528\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u30c1\u30fc\u30e0\u3067\u306e\u958b\u767a\u3067\u306f\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u898f\u7d04\u3068\u3057\u3066\u307e\u3068\u3081\u3066\u304a\u304f\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002<\/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\/\/ \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u898f\u7d04\u4f8b\nclass OrderProcessor {\n    \/\/ 1. \u30e1\u30bd\u30c3\u30c9\u306e\u5f15\u6570\u3068\u623b\u308a\u5024\u306b\u306f\u578b\u5ba3\u8a00\u3092\u4f7f\u7528\n    public function processOrder(int $orderId, array $items): bool {\n        \/\/ 2. \u5185\u90e8\u5909\u6570\u306b\u306f\u660e\u793a\u7684\u306a\u578b\u5909\u63db\u3092\u4f7f\u7528\n        $totalAmount = 0.0;\n        \n        foreach ($items as $item) {\n            \/\/ 3. \u914d\u5217\u306e\u5024\u306f\u5e38\u306b\u578b\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\n            $price = is_numeric($item['price']) ? (float)$item['price'] : 0.0;\n            $quantity = is_numeric($item['quantity']) ? (int)$item['quantity'] : 0;\n            \n            $totalAmount += $price * $quantity;\n        }\n        \n        \/\/ 4. \u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u3067\u306e\u6bd4\u8f03\u306f\u53b3\u683c\u306b\n        if ($totalAmount === 0.0) {\n            return false;\n        }\n        \n        \/\/ \u51e6\u7406\u5b9f\u88c5\uff08\u7701\u7565\uff09\n        \n        return true;\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-37\">4. PHP 8\u306e\u65b0\u6a5f\u80fd\u3092\u6d3b\u7528<\/h4>\n\n\n\n<p>PHP 8\u3067\u5c0e\u5165\u3055\u308c\u305f\u65b0\u6a5f\u80fd\u306f\u3001\u578b\u306e\u5b89\u5168\u6027\u3068\u8868\u73fe\u529b\u3092\u4e21\u7acb\u3055\u305b\u308b\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/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\/\/ PHP 8\u306e\u578b\u95a2\u9023\u306e\u65b0\u6a5f\u80fd\n\n\/\/ 1. \u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u30d7\u30ed\u30d1\u30c6\u30a3\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\nclass Product {\n    public function __construct(\n        private int $id,\n        private string $name,\n        private float $price,\n        private ?string $description = null\n    ) {}\n    \n    \/\/ getters\/setters\u7701\u7565\n}\n\n\/\/ 2. \u540d\u524d\u4ed8\u304d\u5f15\u6570\n$product = new Product(\n    id: 1001,\n    name: '\u9ad8\u7d1a\u8155\u6642\u8a08',\n    price: 128000.0\n);\n\n\/\/ 3. Match\u5f0f\n$taxRate = match ($product-&gt;getCategory()) {\n    'food' =&gt; 0.08,\n    'book' =&gt; 0.10,\n    default =&gt; 0.10\n};\n\n\/\/ 4. Null\u30bb\u30fc\u30d5\u6f14\u7b97\u5b50\n$description = $product-&gt;getDescription() ?? '\u8aac\u660e\u306a\u3057';\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-38\">5. \u30d0\u30fc\u30b8\u30e7\u30f3\u9593\u306e\u4e92\u63db\u6027\u306b\u6ce8\u610f<\/h4>\n\n\n\n<p>PHP\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u578b\u306e\u6271\u3044\u304c\u7570\u306a\u308b\u3053\u3068\u306b\u7559\u610f\u3057\u3001\u4e92\u63db\u6027\u3092\u8003\u616e\u3057\u305f\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u3082\u91cd\u8981\u3067\u3059\u3002<\/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\/\/ \u30d0\u30fc\u30b8\u30e7\u30f3\u9593\u306e\u4e92\u63db\u6027\u3092\u8003\u616e\u3057\u305f\u30b3\u30fc\u30c9\u4f8b\n\n\/\/ PHP 7.0\u4ee5\u964d\u306e\u578b\u5ba3\u8a00\u3092\u4f7f\u7528\nfunction calculateTotal(array $items): float {\n    $total = 0.0;\n    \n    foreach ($items as $item) {\n        \/\/ \u660e\u793a\u7684\u306a\u5909\u63db\u3067\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u308b\u9055\u3044\u3092\u5438\u53ce\n        $price = (float)($item['price'] ?? 0);\n        $quantity = (int)($item['quantity'] ?? 0);\n        \n        $total += $price * $quantity;\n    }\n    \n    return $total;\n}\n\n\/\/ PHP 8.0\u7279\u6709\u306e\u6a5f\u80fd\u306f\u6761\u4ef6\u4ed8\u304d\u3067\u4f7f\u7528\nif (PHP_VERSION_ID &gt;= 80000) {\n    \/\/ PHP 8.0\u4ee5\u964d\u306e\u6a5f\u80fd\u3092\u4f7f\u7528\n    $result = str_contains($haystack, $needle);\n} else {\n    \/\/ \u4e0b\u4f4d\u4e92\u63db\u6027\u306e\u3042\u308b\u30b3\u30fc\u30c9\n    $result = strpos($haystack, $needle) !== false;\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-39\">\u307e\u3068\u3081\uff1a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u305f\u578b\u5909\u63db\u6226\u7565<\/h3>\n\n\n\n<p>\u6700\u7d42\u7684\u306b\u3001PHP\u306e\u578b\u5909\u63db\u306b\u304a\u3051\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8981\u4ef6\u3068\u30c1\u30fc\u30e0\u306e\u597d\u307f\u306b\u3088\u3063\u3066\u7570\u306a\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u6307\u91dd\u3092\u53c2\u8003\u306b\u3057\u3066\u304f\u3060\u3055\u3044\uff1a<\/p>\n\n\n<div id=\"id-7152b8f8-a49b-4cc8-a927-4129319f2813\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30b7\u30ca\u30ea\u30aa<\/th><th>\u63a8\u5968\u30a2\u30d7\u30ed\u30fc\u30c1<\/th><\/tr><\/thead><tbody><tr><td>\u5c0f\u898f\u6a21\u306a\u500b\u4eba\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/td><td>\u7de9\u3084\u304b\u306a\u5909\u63db\u3067\u7d20\u65e9\u304f\u958b\u767a<\/td><\/tr><tr><td>\u30c1\u30fc\u30e0\u958b\u767a\u306e\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/td><td>\u53b3\u683c\u306a\u578b\u5ba3\u8a00\u3068\u660e\u793a\u7684\u306a\u5909\u63db<\/td><\/tr><tr><td>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u91cd\u8996\u306e\u30a2\u30d7\u30ea<\/td><td>\u30b3\u30fc\u30c9\u306e\u6700\u9069\u5316\u306b\u9069\u3057\u305f\u65b9\u6cd5\u3092\u9078\u629e<\/td><\/tr><tr><td>\u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9<\/td><td>\u65e2\u5b58\u306e\u30b9\u30bf\u30a4\u30eb\u306b\u5408\u308f\u305b\u3064\u3064\u3001\u5f90\u3005\u306b\u6539\u5584<\/td><\/tr><tr><td>\u65b0\u898f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff08PHP 8.0\u4ee5\u964d\uff09<\/td><td>\u65b0\u6a5f\u80fd\u3092\u6d3b\u7528\u3057\u305f\u53b3\u683c\u306a\u578b\u30b7\u30b9\u30c6\u30e0<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>\u5b9f\u52d9\u3067\u306e\u7d4c\u9a13\u304b\u3089\u3001\u6b21\u306e\u3088\u3046\u306a\u7d44\u307f\u5408\u308f\u305b\u304c\u52b9\u679c\u7684\u3067\u3042\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5916\u90e8\u304b\u3089\u306e\u5165\u529b\uff08\u30d5\u30a9\u30fc\u30e0\u306a\u3069\uff09\u306f\u5e38\u306b\u691c\u8a3c\u3068\u660e\u793a\u7684\u306a\u5909\u63db\u3092\u884c\u3046<\/li>\n\n\n\n<li>\u5185\u90e8\u306e\u95a2\u6570\u3084\u30e1\u30bd\u30c3\u30c9\u306f\u578b\u5ba3\u8a00\u3092\u4f7f\u7528\u3057\u3066\u5b89\u5168\u6027\u3092\u78ba\u4fdd\u3059\u308b<\/li>\n\n\n\n<li>\u5358\u7d14\u306a\u51e6\u7406\u3067\u306f\u7de9\u3084\u304b\u306a\u5909\u63db\u3092\u6d3b\u7528\u3057\u3066\u53ef\u8aad\u6027\u3092\u9ad8\u3081\u308b<\/li>\n\n\n\n<li>\u91cd\u8981\u306a\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u3067\u306f\u53b3\u683c\u306a\u578b\u30c1\u30a7\u30c3\u30af\u3092\u5fb9\u5e95\u3059\u308b<\/li>\n\n\n\n<li>\u958b\u767a\u74b0\u5883\u3067\u306f\u8b66\u544a\u30ec\u30d9\u30eb\u3092\u6700\u5927\u306b\u3057\u3066\u6f5c\u5728\u7684\u306a\u554f\u984c\u3092\u65e9\u671f\u767a\u898b\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u30d0\u30e9\u30f3\u30b9\u306e\u53d6\u308c\u305f\u30a2\u30d7\u30ed\u30fc\u30c1\u306b\u3088\u308a\u3001PHP\u306e\u67d4\u8edf\u6027\u3092\u6d3b\u304b\u3057\u3064\u3064\u3001\u5805\u7262\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u7279\u6b8a\u306a\u30b1\u30fc\u30b9\u306e\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-40\">\u7279\u6b8a\u306a\u30b1\u30fc\u30b9\u306e\u6587\u5b57\u5217\u6570\u5024\u5909\u63db<\/h2>\n\n\n\n<p>\u5b9f\u52d9\u306ePHP\u958b\u767a\u3067\u306f\u3001\u6a19\u6e96\u7684\u306a\u6570\u5024\u6587\u5b57\u5217\u3060\u3051\u3067\u306a\u304f\u3001\u69d8\u3005\u306a\u7279\u6b8a\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u6587\u5b57\u5217\u3092\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u983b\u7e41\u306b\u906d\u9047\u3059\u308b\u7279\u6b8a\u306a\u30b1\u30fc\u30b9\u3068\u305d\u306e\u52b9\u7387\u7684\u306a\u5909\u63db\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-41\">\u91d1\u984d\u8868\u793a\uff08\u00a5\u3084$\u4ed8\u304d\uff09\u304b\u3089\u306e\u6570\u5024\u62bd\u51fa\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<p>\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3084\u30c7\u30fc\u30bf\u51e6\u7406\u3067\u306f\u3001\u901a\u8ca8\u8a18\u53f7\u4ed8\u304d\u306e\u91d1\u984d\u8868\u793a\u3092\u6271\u3046\u3053\u3068\u304c\u591a\u3005\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u304b\u3089\u6570\u5024\u306e\u307f\u3092\u62bd\u51fa\u3059\u308b\u65b9\u6cd5\u3092\u3044\u304f\u3064\u304b\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-42\">1. \u5358\u7d14\u7f6e\u63db\u306b\u3088\u308b\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u6700\u3082\u30b7\u30f3\u30d7\u30eb\u306a\u65b9\u6cd5\u306f\u3001<code>str_replace()<\/code>\u95a2\u6570\u3092\u4f7f\u3063\u3066\u901a\u8ca8\u8a18\u53f7\u3092\u9664\u53bb\u3059\u308b\u3053\u3068\u3067\u3059\u3002<\/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\/\/ \u5358\u4e00\u306e\u901a\u8ca8\u8a18\u53f7\u3092\u9664\u53bb\n$price1 = \"\u00a51000\";\n$price2 = \"$99.99\";\n$price3 = \"\u20ac50\";\n\n$numeric1 = str_replace(\"\u00a5\", \"\", $price1);\n$numeric2 = str_replace(\"$\", \"\", $price2);\n$numeric3 = str_replace(\"\u20ac\", \"\", $price3);\n\necho floatval($numeric1) . \"\\n\";  \/\/ \u51fa\u529b: 1000\necho floatval($numeric2) . \"\\n\";  \/\/ \u51fa\u529b: 99.99\necho floatval($numeric3) . \"\\n\";  \/\/ \u51fa\u529b: 50\n\n\/\/ \u8907\u6570\u306e\u901a\u8ca8\u8a18\u53f7\u306b\u5bfe\u5fdc\n$price = \"USD $1,299.99\";\n$symbols = [\"USD\", \"$\", \",\"];\n$numeric = str_replace($symbols, \"\", $price);\necho floatval($numeric);  \/\/ \u51fa\u529b: 1299.99\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-43\">2. \u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3057\u305f\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u3088\u308a\u8907\u96d1\u306a\u30b1\u30fc\u30b9\u3067\u306f\u3001\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u67d4\u8edf\u306b\u5bfe\u5fdc\u3067\u304d\u307e\u3059\u3002<\/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\/\/ \u901a\u8ca8\u8a18\u53f7\u3068\u6841\u533a\u5207\u308a\u3092\u9664\u53bb\n$prices = [\n    \"\u00a51,000,000\",\n    \"$1,299.99\",\n    \"\u20ac2.500,00\",  \/\/ \u6b27\u5dde\u5f0f\u8868\u8a18\n    \"\u5546\u54c1\u4fa1\u683c: \u00a55,980\uff08\u7a0e\u8fbc\uff09\",\n    \"USD $199.95\"\n];\n\nforeach ($prices as $price) {\n    \/\/ \u65b9\u6cd51: \u6570\u5024\u3068\u30c9\u30c3\u30c8\u4ee5\u5916\u3092\u9664\u53bb\n    $numeric1 = preg_replace('\/[^0-9.]\/', '', $price);\n    \n    \/\/ \u65b9\u6cd52: \u6570\u5024\u30d1\u30bf\u30fc\u30f3\u3092\u62bd\u51fa\n    preg_match('\/[\\d,.]+\/', $price, $matches);\n    $numeric2 = $matches[0] ?? '0';\n    \/\/ \u30ab\u30f3\u30de\u3092\u9664\u53bb\n    $numeric2 = str_replace(',', '', $numeric2);\n    \n    echo \"\u5143\u306e\u6587\u5b57\u5217: {$price}\\n\";\n    echo \"\u65b9\u6cd51\u306e\u7d50\u679c: {$numeric1} \u2192 \" . floatval($numeric1) . \"\\n\";\n    echo \"\u65b9\u6cd52\u306e\u7d50\u679c: {$numeric2} \u2192 \" . floatval($numeric2) . \"\\n\";\n    echo \"---\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-44\">3. \u56fd\u969b\u5316\u5bfe\u5fdc\u306e\u65b9\u6cd5<\/h4>\n\n\n\n<p>\u69d8\u3005\u306a\u56fd\u306e\u901a\u8ca8\u8868\u8a18\u306b\u5bfe\u5fdc\u3059\u308b\u306b\u306f\u3001PHP\u306e\u56fd\u969b\u5316\u62e1\u5f35\uff08intl\uff09\u3092\u4f7f\u7528\u3059\u308b\u3068\u3088\u308a\u7c21\u5358\u3067\u3059\u3002<\/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\/\/ intl\u62e1\u5f35\u304c\u5fc5\u8981\nif (extension_loaded('intl')) {\n    \/\/ NumberFormatter\u3092\u4f7f\u7528\u3057\u305f\u5909\u63db\n    $locales = ['en_US', 'ja_JP', 'de_DE', 'fr_FR'];\n    $price = \"1,234.56\";\n    \n    foreach ($locales as $locale) {\n        $fmt = new NumberFormatter($locale, NumberFormatter::DECIMAL);\n        $number = $fmt-&gt;parse($price);\n        \n        echo \"{$locale}: {$price} \u2192 {$number}\\n\";\n    }\n    \n    \/\/ \u901a\u8ca8\u5f62\u5f0f\u304b\u3089\u306e\u5909\u63db\n    $currencies = [\n        'en_US' =&gt; '$1,234.56',\n        'ja_JP' =&gt; '\uffe51,234',\n        'de_DE' =&gt; '1.234,56 \u20ac',\n        'fr_FR' =&gt; '1 234,56 \u20ac'\n    ];\n    \n    foreach ($currencies as $locale =&gt; $currency) {\n        $fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY);\n        $number = $fmt-&gt;parse($currency);\n        \n        echo \"{$locale}: {$currency} \u2192 {$number}\\n\";\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-45\">\u5b9f\u52d9\u3067\u5f79\u7acb\u3064\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u95a2\u6570<\/h4>\n\n\n\n<p>\u4ee5\u4e0b\u306f\u3001\u69d8\u3005\u306a\u901a\u8ca8\u8868\u8a18\u306b\u5bfe\u5fdc\u3067\u304d\u308b\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u95a2\u6570\u306e\u4f8b\u3067\u3059\u3002<\/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 * \u901a\u8ca8\u8868\u8a18\u304b\u3089\u6570\u5024\u3092\u62bd\u51fa\u3059\u308b\n * \n * @param string $currencyString \u901a\u8ca8\u8868\u8a18\u306e\u6587\u5b57\u5217\n * @param string $locale \u30ed\u30b1\u30fc\u30eb\uff08\u672a\u6307\u5b9a\u6642\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\n * @return float \u6570\u5024\n *\/\nfunction extractNumberFromCurrency($currencyString, $locale = null) {\n    \/\/ intl\u62e1\u5f35\u304c\u5229\u7528\u53ef\u80fd\u306a\u5834\u5408\n    if (extension_loaded('intl') &amp;&amp; $locale !== null) {\n        $fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY);\n        $result = $fmt-&gt;parse($currencyString);\n        if ($result !== false) {\n            return (float)$result;\n        }\n    }\n    \n    \/\/ \u4e00\u822c\u7684\u306a\u901a\u8ca8\u8a18\u53f7\u306e\u30ea\u30b9\u30c8\n    $currencySymbols = ['$', '\u20ac', '\u00a3', '\u00a5', '\u20b9', '\u20a9', '\u20bd', 'USD', 'EUR', 'JPY', 'GBP'];\n    \n    \/\/ \u30b9\u30c6\u30c3\u30d71: \u901a\u8ca8\u8a18\u53f7\u3092\u9664\u53bb\n    $cleaned = str_replace($currencySymbols, '', $currencyString);\n    \n    \/\/ \u30b9\u30c6\u30c3\u30d72: \u6570\u5b57\u3001\u30c9\u30c3\u30c8\u3001\u30ab\u30f3\u30de\u4ee5\u5916\u306e\u6587\u5b57\u3092\u9664\u53bb\n    $cleaned = preg_replace('\/[^\\d.,]\/', '', $cleaned);\n    \n    \/\/ \u30b9\u30c6\u30c3\u30d73: \u6841\u533a\u5207\u308a\u30ab\u30f3\u30de\u3092\u9664\u53bb\uff08.\u304c\u5c0f\u6570\u70b9\u8a18\u53f7\u306e\u5834\u5408\uff09\n    if (substr_count($cleaned, '.') &lt;= 1 &amp;&amp; strpos($cleaned, '.') &gt; strpos($cleaned, ',')) {\n        $cleaned = str_replace(',', '', $cleaned);\n    } \n    \/\/ \u30b9\u30c6\u30c3\u30d74: \u6b27\u5dde\u5f0f\u8868\u8a18\u306e\u5834\u5408\uff08,\u304c\u5c0f\u6570\u70b9\u8a18\u53f7\u306e\u5834\u5408\uff09\n    else if (substr_count($cleaned, ',') == 1 &amp;&amp; strpos($cleaned, ',') &gt; strpos($cleaned, '.')) {\n        $cleaned = str_replace('.', '', $cleaned); \/\/ \u6841\u533a\u5207\u308a\u306e\u30c9\u30c3\u30c8\u3092\u9664\u53bb\n        $cleaned = str_replace(',', '.', $cleaned); \/\/ \u30b3\u30f3\u30de\u3092\u30c9\u30c3\u30c8\u306b\u5909\u63db\n    }\n    \n    return floatval($cleaned);\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$examples = [\n    \"$1,234.56\",\n    \"\u00a510,000\",\n    \"1.234,56 \u20ac\",\n    \"\u5546\u54c1\u4fa1\u683c: \u00a55,980\uff08\u7a0e\u8fbc\uff09\",\n    \"USD $199.95\"\n];\n\nforeach ($examples as $example) {\n    $number = extractNumberFromCurrency($example);\n    echo \"{$example} \u2192 {$number}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-46\">\u30ab\u30f3\u30de\u533a\u5207\u308a\u6570\u5024\u6587\u5b57\u5217\u306e\u52b9\u7387\u7684\u306a\u5909\u63db<\/h3>\n\n\n\n<p>\u6570\u5024\u306e\u53ef\u8aad\u6027\u3092\u9ad8\u3081\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30ab\u30f3\u30de\u533a\u5207\u308a\uff08\u4f8b: 1,000,000\uff09\u306f\u3001\u305d\u306e\u307e\u307e\u3067\u306f\u6570\u5024\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u3053\u3067\u306f\u69d8\u3005\u306a\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-47\">1. \u30b7\u30f3\u30d7\u30eb\u306a\u30ab\u30f3\u30de\u9664\u53bb<\/h4>\n\n\n\n<p>\u6700\u3082\u7c21\u5358\u306a\u65b9\u6cd5\u306f\u3001\u5358\u7d14\u306b\u30ab\u30f3\u30de\u3092\u9664\u53bb\u3059\u308b\u3053\u3068\u3067\u3059\u3002<\/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\/\/ \u30b7\u30f3\u30d7\u30eb\u306a\u30ab\u30f3\u30de\u9664\u53bb\n$numbers = [\n    \"1,000\",\n    \"1,234,567\",\n    \"1,234.56\"\n];\n\nforeach ($numbers as $number) {\n    $cleaned = str_replace(',', '', $number);\n    $value = floatval($cleaned);\n    \n    echo \"{$number} \u2192 {$value}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-48\">2. \u5730\u57df\u306b\u5fdc\u3058\u305f\u6841\u533a\u5207\u308a\u51e6\u7406<\/h4>\n\n\n\n<p>\u7570\u306a\u308b\u5730\u57df\u3067\u306e\u8868\u8a18\u306b\u5bfe\u5fdc\u3059\u308b\u305f\u3081\u306e\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/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\/\/ \u5730\u57df\u306b\u5fdc\u3058\u305f\u6841\u533a\u5207\u308a\u51e6\u7406\n$formats = [\n    'US\/UK' =&gt; '1,234,567.89',  \/\/ \u30ab\u30f3\u30de\u533a\u5207\u308a\u3001\u30c9\u30c3\u30c8\u5c0f\u6570\u70b9\n    'EU\/DE' =&gt; '1.234.567,89',  \/\/ \u30c9\u30c3\u30c8\u533a\u5207\u308a\u3001\u30ab\u30f3\u30de\u5c0f\u6570\u70b9\n    'FR' =&gt; '1 234 567,89'      \/\/ \u30b9\u30da\u30fc\u30b9\u533a\u5207\u308a\u3001\u30ab\u30f3\u30de\u5c0f\u6570\u70b9\n];\n\nforeach ($formats as $region =&gt; $formatted) {\n    \/\/ \u533a\u5207\u308a\u6587\u5b57\u3068\u5c0f\u6570\u70b9\u3092\u5224\u65ad\n    $lastComma = strrpos($formatted, ',');\n    $lastDot = strrpos($formatted, '.');\n    \n    $cleaned = $formatted;\n    \n    \/\/ US\/UK\u5f62\u5f0f\uff08\u6700\u5f8c\u306e\u533a\u5207\u308a\u304c\u30c9\u30c3\u30c8\uff09\n    if ($lastDot &gt; $lastComma) {\n        $cleaned = str_replace(',', '', $formatted);\n    }\n    \/\/ EU\/DE\u5f62\u5f0f\uff08\u6700\u5f8c\u306e\u533a\u5207\u308a\u304c\u30ab\u30f3\u30de\uff09\n    else if ($lastComma &gt; $lastDot) {\n        $cleaned = str_replace('.', '', $formatted);  \/\/ \u307e\u305a\u533a\u5207\u308a\u306e\u30c9\u30c3\u30c8\u3092\u9664\u53bb\n        $cleaned = str_replace(',', '.', $cleaned);   \/\/ \u30ab\u30f3\u30de\u3092\u30c9\u30c3\u30c8\u306b\u5909\u63db\n    }\n    \n    \/\/ \u30b9\u30da\u30fc\u30b9\u533a\u5207\u308a\u3082\u9664\u53bb\n    $cleaned = str_replace(' ', '', $cleaned);\n    \n    $value = floatval($cleaned);\n    \n    echo \"{$region}: {$formatted} \u2192 {$value}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-49\">3. intl\u62e1\u5f35\u3092\u4f7f\u7528\u3057\u305f\u5909\u63db<\/h4>\n\n\n\n<p>\u3088\u308a\u5805\u7262\u306a\u65b9\u6cd5\u3068\u3057\u3066\u3001intl\u62e1\u5f35\u3092\u4f7f\u3046\u30a2\u30d7\u30ed\u30fc\u30c1\u304c\u3042\u308a\u307e\u3059\u3002<\/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\/\/ intl\u62e1\u5f35\u304c\u5fc5\u8981\nif (extension_loaded('intl')) {\n    $numbers = [\n        'en_US' =&gt; '1,234,567.89',\n        'de_DE' =&gt; '1.234.567,89',\n        'fr_FR' =&gt; '1 234 567,89'\n    ];\n    \n    foreach ($numbers as $locale =&gt; $formatted) {\n        $fmt = new NumberFormatter($locale, NumberFormatter::DECIMAL);\n        $value = $fmt-&gt;parse($formatted);\n        \n        echo \"{$locale}: {$formatted} \u2192 {$value}\\n\";\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-50\">\u5b9f\u52d9\u3067\u306e\u63a8\u5968\u30a2\u30d7\u30ed\u30fc\u30c1<\/h4>\n\n\n\n<p>\u5b9f\u52d9\u3067\u306f\u3001\u5165\u529b\u306e\u5f62\u5f0f\u304c\u4e88\u6e2c\u3067\u304d\u306a\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u3001\u69d8\u3005\u306a\u5f62\u5f0f\u306b\u5bfe\u5fdc\u3067\u304d\u308b\u6c4e\u7528\u7684\u306a\u95a2\u6570\u3067\u3059\u3002<\/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 * \u69d8\u3005\u306a\u5f62\u5f0f\u306e\u6570\u5024\u6587\u5b57\u5217\u3092\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n * \n * @param string $numberStr \u6570\u5024\u6587\u5b57\u5217\n * @param string $defaultLocale \u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30ed\u30b1\u30fc\u30eb\n * @return float \u5909\u63db\u5f8c\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\n *\/\nfunction parseFormattedNumber($numberStr, $defaultLocale = 'en_US') {\n    \/\/ intl\u62e1\u5f35\u304c\u5229\u7528\u53ef\u80fd\u306a\u5834\u5408\n    if (extension_loaded('intl')) {\n        $fmt = new NumberFormatter($defaultLocale, NumberFormatter::DECIMAL);\n        $result = $fmt-&gt;parse($numberStr);\n        if ($result !== false) {\n            return (float)$result;\n        }\n    }\n    \n    \/\/ \u6570\u5b57\u3001\u5c0f\u6570\u70b9\u3001\u6841\u533a\u5207\u308a\u4ee5\u5916\u306e\u6587\u5b57\u3092\u9664\u53bb\n    $cleaned = preg_replace('\/[^\\d.,\\s]\/', '', $numberStr);\n    \n    \/\/ \u6841\u533a\u5207\u308a\u3068\u5c0f\u6570\u70b9\u3092\u5224\u65ad\n    $lastComma = strrpos($cleaned, ',');\n    $lastDot = strrpos($cleaned, '.');\n    $lastSpace = strrpos($cleaned, ' ');\n    \n    \/\/ \u30b9\u30da\u30fc\u30b9\u3092\u9664\u53bb\n    $cleaned = str_replace(' ', '', $cleaned);\n    \n    \/\/ \u5c0f\u6570\u70b9\u306e\u4f4d\u7f6e\u304b\u3089\u5f62\u5f0f\u3092\u5224\u65ad\n    if ($lastDot === false &amp;&amp; $lastComma !== false) {\n        \/\/ \u30ab\u30f3\u30de\u304c\u5c0f\u6570\u70b9\uff08\u4f8b: 1234,56\uff09\n        $cleaned = str_replace(',', '.', $cleaned);\n    } else if ($lastDot !== false &amp;&amp; $lastComma !== false) {\n        if ($lastDot &gt; $lastComma) {\n            \/\/ \u30c9\u30c3\u30c8\u304c\u5c0f\u6570\u70b9\u3067\u3001\u30ab\u30f3\u30de\u304c\u6841\u533a\u5207\u308a\uff08\u4f8b: 1,234.56\uff09\n            $cleaned = str_replace(',', '', $cleaned);\n        } else {\n            \/\/ \u30ab\u30f3\u30de\u304c\u5c0f\u6570\u70b9\u3067\u3001\u30c9\u30c3\u30c8\u304c\u6841\u533a\u5207\u308a\uff08\u4f8b: 1.234,56\uff09\n            $cleaned = str_replace('.', '', $cleaned);\n            $cleaned = str_replace(',', '.', $cleaned);\n        }\n    } else {\n        \/\/ \u3069\u3061\u3089\u3082\u7121\u3044\u5834\u5408\u3001\u307e\u305f\u306f\u4e00\u65b9\u306e\u307f\u306e\u5834\u5408\u306f\u305d\u306e\u307e\u307e\n    }\n    \n    return floatval($cleaned);\n}\n\n\/\/ \u30c6\u30b9\u30c8\n$testCases = [\n    '1,234.56',\n    '1.234,56',\n    '1 234,56',\n    '1,234,567',\n    '1.234.567',\n    '1234567',\n    '1234.56'\n];\n\nforeach ($testCases as $test) {\n    $result = parseFormattedNumber($test);\n    echo \"{$test} \u2192 {$result}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-51\">\u7570\u306a\u308b\u57fa\u6570\uff0816\u9032\u6570\u30fb8\u9032\u6570\u306a\u3069\uff09\u306e\u6587\u5b57\u5217\u5909\u63db<\/h3>\n\n\n\n<p>PHP\u3067\u306f\u3001\u69d8\u3005\u306a\u57fa\u6570\u306e\u6570\u5024\u8868\u73fe\u3092\u6271\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u7279\u306b\u300116\u9032\u6570\uff080xFF\u306a\u3069\uff09\u30018\u9032\u6570\uff080777\u306a\u3069\uff09\u30012\u9032\u6570\uff080b1010\u306a\u3069\uff09\u306a\u3069\u306f\u3088\u304f\u4f7f\u308f\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-52\">1. intval()\u95a2\u6570\u3092\u4f7f\u3063\u305f\u57fa\u6570\u6307\u5b9a\u5909\u63db<\/h4>\n\n\n\n<p><code>intval()<\/code>\u95a2\u6570\u306e\u7b2c2\u5f15\u6570\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u6587\u5b57\u5217\u3092\u6307\u5b9a\u3057\u305f\u57fa\u6570\u3068\u3057\u3066\u89e3\u91c8\u3067\u304d\u307e\u3059\u3002<\/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\/\/ \u69d8\u3005\u306a\u57fa\u6570\u306e\u5909\u63db\n$hex = \"FF\";          \/\/ 16\u9032\u6570\n$oct = \"777\";         \/\/ 8\u9032\u6570\n$bin = \"1010\";        \/\/ 2\u9032\u6570\n\n\/\/ \u57fa\u6570\u3092\u6307\u5b9a\u3057\u305f\u5909\u63db\necho intval($hex, 16) . \"\\n\";  \/\/ \u51fa\u529b: 255\necho intval($oct, 8) . \"\\n\";   \/\/ \u51fa\u529b: 511\necho intval($bin, 2) . \"\\n\";   \/\/ \u51fa\u529b: 10\n\n\/\/ \u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u4ed8\u304d\u306e\u5834\u5408\n$prefixHex = \"0xFF\";\n$prefixOct = \"0777\";\n$prefixBin = \"0b1010\";\n\n\/\/ \u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u304c\u3042\u308b\u5834\u5408\u3001PHP\u306f\u81ea\u52d5\u7684\u306b\u8a8d\u8b58\u3059\u308b\uff08PHP 7.0\u4ee5\u964d\uff09\necho intval($prefixHex, 0) . \"\\n\";  \/\/ \u51fa\u529b: 255\necho intval($prefixOct, 0) . \"\\n\";  \/\/ \u51fa\u529b: 511\necho intval($prefixBin, 0) . \"\\n\";  \/\/ \u51fa\u529b: 10\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-53\">2. \u7279\u6b8a\u306a16\u9032\u6570\u8868\u8a18\u306e\u5909\u63db<\/h4>\n\n\n\n<p>Web\u306e\u8272\u6307\u5b9a\u306a\u3069\u3001\u7279\u6b8a\u306a\u5f62\u5f0f\u306e16\u9032\u6570\u8868\u8a18\u3092\u6271\u3046\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/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\/\/ Web\u30ab\u30e9\u30fc\u306e16\u9032\u6570\u5909\u63db\n$colors = [\n    \"#FF0000\",    \/\/ \u8d64\n    \"#00FF00\",    \/\/ \u7dd1\n    \"#0000FF\",    \/\/ \u9752\n    \"#FFFFFF\",    \/\/ \u767d\n    \"#000\"        \/\/ \u9ed2\uff08\u77ed\u7e2e\u5f62\uff09\n];\n\nforeach ($colors as $color) {\n    \/\/ #\u3092\u9664\u53bb\n    $hex = ltrim($color, '#');\n    \n    \/\/ \u77ed\u7e2e\u5f62\uff08#RGB\uff09\u306e\u5834\u5408\u306f\u5c55\u958b\uff08#RRGGBB\uff09\n    if (strlen($hex) === 3) {\n        $hex = $hex[0].$hex[0].$hex[1].$hex[1].$hex[2].$hex[2];\n    }\n    \n    \/\/ 16\u9032\u6570\u309210\u9032\u6570\u306eRGB\u5024\u306b\u5909\u63db\n    $r = hexdec(substr($hex, 0, 2));\n    $g = hexdec(substr($hex, 2, 2));\n    $b = hexdec(substr($hex, 4, 2));\n    \n    echo \"{$color} \u2192 RGB({$r}, {$g}, {$b})\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-54\">3. base_convert()\u95a2\u6570\u306e\u6d3b\u7528<\/h4>\n\n\n\n<p>\u7570\u306a\u308b\u57fa\u6570\u9593\u3067\u306e\u5909\u63db\u306b\u306f\u3001<code>base_convert()<\/code>\u95a2\u6570\u3082\u4fbf\u5229\u3067\u3059\u3002<\/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\/\/ \u7570\u306a\u308b\u57fa\u6570\u9593\u306e\u5909\u63db\n$decimal = 255;\n\n\/\/ 10\u9032\u6570\u304b\u3089\u4ed6\u306e\u57fa\u6570\u3078\u306e\u5909\u63db\n$binary = base_convert($decimal, 10, 2);     \/\/ 10\u9032\u6570\u21922\u9032\u6570\n$octal = base_convert($decimal, 10, 8);      \/\/ 10\u9032\u6570\u21928\u9032\u6570\n$hex = base_convert($decimal, 10, 16);       \/\/ 10\u9032\u6570\u219216\u9032\u6570\n\necho \"10\u9032\u6570: {$decimal}\\n\";\necho \"2\u9032\u6570: {$binary}\\n\";\necho \"8\u9032\u6570: {$octal}\\n\";\necho \"16\u9032\u6570: {$hex}\\n\";\n\n\/\/ \u7570\u306a\u308b\u57fa\u6570\u540c\u58eb\u306e\u5909\u63db\n$hex = \"FF\";\n$bin = base_convert($hex, 16, 2);            \/\/ 16\u9032\u6570\u21922\u9032\u6570\n\necho \"16\u9032\u6570 {$hex} \u2192 2\u9032\u6570 {$bin}\\n\";\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-55\">4. PHP 8\u3067\u306e\u6539\u5584\u70b9<\/h4>\n\n\n\n<p>PHP 8\u3067\u306f\u3001\u6570\u5024\u30ea\u30c6\u30e9\u30eb\u306e\u51e6\u7406\u304c\u6539\u5584\u3055\u308c\u3001\u3088\u308a\u53b3\u683c\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/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\/\/ PHP 8\u3067\u306e\u6319\u52d5\n\/\/ PHP 7\u4ee5\u524d\u3067\u306f\u8b66\u544a\u306a\u304f\u51e6\u7406\u3001PHP 8\u3067\u306f\u8b66\u544a\u304c\u767a\u751f\n$invalidHex = \"0xZZ\";\n$result = intval($invalidHex, 16);  \/\/ PHP 8: \u8b66\u544a\u304c\u767a\u751f\u3001PHP 7: \u8b66\u544a\u306a\u3057\u30010\u3092\u8fd4\u3059\n\n\/\/ \u6b63\u3057\u3044\u51e6\u7406\ntry {\n    \/\/ \u6570\u5024\u5f62\u5f0f\u306e\u691c\u8a3c\n    if (!preg_match('\/^0x[0-9A-Fa-f]+$\/', $invalidHex)) {\n        throw new InvalidArgumentException(\"\u7121\u52b9\u306a16\u9032\u6570\u5f62\u5f0f\u3067\u3059\");\n    }\n    \n    $result = intval($invalidHex, 0);\n    echo \"\u7d50\u679c: {$result}\\n\";\n} catch (InvalidArgumentException $e) {\n    echo \"\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage() . \"\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-56\">5. \u5b9f\u52d9\u3067\u306e\u5fdc\u7528\u4f8b\uff1aIP\u30a2\u30c9\u30ec\u30b9\u5909\u63db<\/h4>\n\n\n\n<p>IP\u30a2\u30c9\u30ec\u30b9\u306e16\u9032\u6570\u8868\u8a18\u306810\u9032\u6570\u8868\u8a18\u306e\u5909\u63db\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/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\/\/ IP\u30a2\u30c9\u30ec\u30b9\u306e\u5909\u63db\u4f8b\nfunction ipToHex($ip) {\n    $parts = explode('.', $ip);\n    $hex = '';\n    \n    foreach ($parts as $part) {\n        $hex .= str_pad(dechex((int)$part), 2, '0', STR_PAD_LEFT);\n    }\n    \n    return strtoupper($hex);\n}\n\nfunction hexToIp($hex) {\n    $hex = str_replace(['0x', ' ', '.'], '', $hex);\n    \n    $parts = [];\n    for ($i = 0; $i &lt; strlen($hex); $i += 2) {\n        $parts[] = hexdec(substr($hex, $i, 2));\n    }\n    \n    return implode('.', $parts);\n}\n\n$ipAddresses = [\n    '192.168.1.1',\n    '10.0.0.1',\n    '127.0.0.1'\n];\n\nforeach ($ipAddresses as $ip) {\n    $hex = ipToHex($ip);\n    $backToIp = hexToIp($hex);\n    \n    echo \"IP: {$ip} \u2192 16\u9032\u6570: {$hex} \u2192 IP: {$backToIp}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-57\">\u307e\u3068\u3081\uff1a\u7279\u6b8a\u306a\u30b1\u30fc\u30b9\u3078\u306e\u5bfe\u5fdc<\/h3>\n\n\n\n<p>\u7279\u6b8a\u306a\u5f62\u5f0f\u306e\u6587\u5b57\u5217\u3092\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u969b\u306f\u3001\u4ee5\u4e0b\u306e\u70b9\u306b\u6ce8\u610f\u3059\u308b\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5165\u529b\u30c7\u30fc\u30bf\u306e\u5f62\u5f0f\u3092\u628a\u63e1\u3059\u308b<\/strong>\uff1a \u53ef\u80fd\u3067\u3042\u308c\u3070\u3001\u5165\u529b\u30c7\u30fc\u30bf\u306e\u5f62\u5f0f\uff08\u5730\u57df\u8a2d\u5b9a\u306a\u3069\uff09\u3092\u4e8b\u524d\u306b\u628a\u63e1\u3057\u3066\u304a\u304f<\/li>\n\n\n\n<li><strong>\u6c4e\u7528\u7684\u306a\u95a2\u6570\u3092\u7528\u610f\u3059\u308b<\/strong>\uff1a \u69d8\u3005\u306a\u5f62\u5f0f\u306b\u5bfe\u5fdc\u3067\u304d\u308b\u6c4e\u7528\u7684\u306a\u5909\u63db\u95a2\u6570\u3092\u5b9f\u88c5\u3059\u308b<\/li>\n\n\n\n<li><strong>\u30a8\u30e9\u30fc\u51e6\u7406\u3092\u5fd8\u308c\u306a\u3044<\/strong>\uff1a \u5909\u63db\u3067\u304d\u306a\u3044\u5165\u529b\u306b\u5bfe\u3057\u3066\u306f\u3001\u9069\u5207\u306a\u30a8\u30e9\u30fc\u51e6\u7406\u3092\u884c\u3046<\/li>\n\n\n\n<li><strong>intl\u62e1\u5f35\u306e\u6d3b\u7528<\/strong>\uff1a \u56fd\u969b\u5316\u306b\u95a2\u9023\u3059\u308b\u5909\u63db\u3067\u306f\u3001intl\u62e1\u5f35\u3092\u6d3b\u7528\u3059\u308b<\/li>\n\n\n\n<li><strong>PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u9055\u3044\u306b\u6ce8\u610f<\/strong>\uff1a PHP 7.x\u3068PHP 8.x\u3067\u306f\u3001\u578b\u5909\u63db\u306e\u6319\u52d5\u306b\u9055\u3044\u304c\u3042\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u7279\u6b8a\u306a\u30b1\u30fc\u30b9\u306e\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u3092\u9069\u5207\u306b\u884c\u3046\u3053\u3068\u3067\u3001\u3088\u308a\u5805\u7262\u3067\u56fd\u969b\u7684\u306b\u901a\u7528\u3059\u308bPHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u306e\u51e6\u7406\u306b\u304a\u3051\u308b\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u306e\u5b9f\u8df5\u4f8b\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-58\">\u5909\u63db\u306e\u5b9f\u8df5\u4f8b\uff1a\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u306e\u51e6\u7406<\/h2>\n\n\n\n<p>Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u306b\u304a\u3044\u3066\u3001\u30d5\u30a9\u30fc\u30e0\u304b\u3089\u306e\u5165\u529b\u30c7\u30fc\u30bf\u3092\u9069\u5207\u306b\u51e6\u7406\u3059\u308b\u3053\u3068\u306f\u6975\u3081\u3066\u91cd\u8981\u3067\u3059\u3002\u7279\u306b\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3092\u6271\u3046\u969b\u306b\u983b\u7e41\u306b\u767a\u751f\u3059\u308b\u64cd\u4f5c\u3067\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u3092\u5b89\u5168\u304b\u3064\u52b9\u7387\u7684\u306b\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-59\">\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3092\u5b89\u5168\u306b\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h3>\n\n\n\n<p>PHP\u3067\u30d5\u30a9\u30fc\u30e0\u304b\u3089\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u969b\u3001<code>$_POST<\/code>\u3084<code>$_GET<\/code>\u306a\u3069\u306e\u30b9\u30fc\u30d1\u30fc\u30b0\u30ed\u30fc\u30d0\u30eb\u5909\u6570\u3092\u901a\u3058\u3066\u53d6\u5f97\u3057\u305f\u5024\u306f\u3001\u5e38\u306b\u6587\u5b57\u5217\u578b\u3068\u3057\u3066\u6271\u308f\u308c\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u5024\u3092\u6570\u5024\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u5358\u7d14\u306a\u578b\u5909\u63db\u3060\u3051\u3067\u306a\u304f\u3001\u9069\u5207\u306a\u691c\u8a3c\u3068\u30a8\u30e9\u30fc\u51e6\u7406\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-60\">1. \u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u95a2\u6570\u3092\u6d3b\u7528\u3059\u308b<\/h4>\n\n\n\n<p>PHP\u306e<code>filter_var()<\/code>\u304a\u3088\u3073<code>filter_input()<\/code>\u95a2\u6570\u306f\u3001\u5165\u529b\u5024\u306e\u691c\u8a3c\u3068\u5909\u63db\u3092\u540c\u6642\u306b\u884c\u3046\u305f\u3081\u306e\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u3067\u3059\u3002<\/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\u9001\u4fe1\u5f8c\u306e\u51e6\u7406\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    \/\/ \u65b9\u6cd51: filter_var()\u3092\u4f7f\u7528\u3057\u305f\u6574\u6570\u306e\u691c\u8a3c\u3068\u53d6\u5f97\n    $user_id = filter_var(\n        $_POST['user_id'] ?? '', \n        FILTER_VALIDATE_INT, \n        ['options' =&gt; ['default' =&gt; 0, 'min_range' =&gt; 1]]\n    );\n    \n    \/\/ \u65b9\u6cd52: filter_input()\u3092\u4f7f\u7528\u3057\u305f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306e\u691c\u8a3c\u3068\u53d6\u5f97\n    $amount = filter_input(\n        INPUT_POST, \n        'amount', \n        FILTER_VALIDATE_FLOAT, \n        ['options' =&gt; ['default' =&gt; 0.0, 'min_range' =&gt; 0.01]]\n    );\n    \n    \/\/ \u65b9\u6cd53: filter_var()\u3068\u6b63\u898f\u8868\u73fe\u30d5\u30a3\u30eb\u30bf\u30fc\u3067\u7279\u5b9a\u5f62\u5f0f\u306e\u691c\u8a3c\n    $zip_code = filter_var(\n        $_POST['zip_code'] ?? '',\n        FILTER_VALIDATE_REGEXP,\n        ['options' =&gt; ['regexp' =&gt; '\/^\\d{3}-?\\d{4}$\/']]\n    );\n    \n    echo \"\u30e6\u30fc\u30b6\u30fcID: \" . ($user_id !== false ? $user_id : \"\u7121\u52b9\u306a\u5024\") . \"&lt;br&gt;\";\n    echo \"\u91d1\u984d: \" . ($amount !== false ? $amount : \"\u7121\u52b9\u306a\u5024\") . \"&lt;br&gt;\";\n    echo \"\u90f5\u4fbf\u756a\u53f7: \" . ($zip_code !== false ? $zip_code : \"\u7121\u52b9\u306a\u5024\") . \"&lt;br&gt;\";\n}\n?&gt;\n\n&lt;!-- \u30d5\u30a9\u30fc\u30e0\u4f8b --&gt;\n&lt;form method=\"post\"&gt;\n    &lt;div&gt;\n        &lt;label for=\"user_id\"&gt;\u30e6\u30fc\u30b6\u30fcID\uff08\u6574\u6570\uff09:&lt;\/label&gt;\n        &lt;input type=\"number\" name=\"user_id\" id=\"user_id\" min=\"1\"&gt;\n    &lt;\/div&gt;\n    &lt;div&gt;\n        &lt;label for=\"amount\"&gt;\u91d1\u984d\uff08\u5c0f\u6570\u53ef\uff09:&lt;\/label&gt;\n        &lt;input type=\"number\" name=\"amount\" id=\"amount\" step=\"0.01\" min=\"0.01\"&gt;\n    &lt;\/div&gt;\n    &lt;div&gt;\n        &lt;label for=\"zip_code\"&gt;\u90f5\u4fbf\u756a\u53f7\uff08123-4567\u5f62\u5f0f\uff09:&lt;\/label&gt;\n        &lt;input type=\"text\" name=\"zip_code\" id=\"zip_code\"&gt;\n    &lt;\/div&gt;\n    &lt;button type=\"submit\"&gt;\u9001\u4fe1&lt;\/button&gt;\n&lt;\/form&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-61\">2. \u6bb5\u968e\u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u5b89\u5168\u6027\u3092\u9ad8\u3081\u308b<\/h4>\n\n\n\n<p>\u3088\u308a\u5805\u7262\u306a\u51e6\u7406\u3092\u884c\u3046\u305f\u3081\u306b\u306f\u3001\u6bb5\u968e\u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u304c\u52b9\u679c\u7684\u3067\u3059\u3002<\/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 * \u30d5\u30a9\u30fc\u30e0\u5165\u529b\u304b\u3089\u5b89\u5168\u306b\u6574\u6570\u5024\u3092\u53d6\u5f97\u3059\u308b\n * \n * @param string $key \u5165\u529b\u30ad\u30fc\n * @param int $default \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n * @param int $min \u6700\u5c0f\u5024\n * @param int $max \u6700\u5927\u5024\n * @return int \u5909\u63db\u3055\u308c\u305f\u6574\u6570\n *\/\nfunction getIntFromInput($key, $default = 0, $min = null, $max = null) {\n    \/\/ 1. \u5165\u529b\u5024\u306e\u5b58\u5728\u78ba\u8a8d\n    if (!isset($_POST[$key])) {\n        return $default;\n    }\n    \n    $value = $_POST[$key];\n    \n    \/\/ 2. \u7a7a\u306e\u5165\u529b\u30c1\u30a7\u30c3\u30af\n    if (empty($value) &amp;&amp; $value !== '0') {\n        return $default;\n    }\n    \n    \/\/ 3. \u6570\u5024\u304b\u3069\u3046\u304b\u306e\u78ba\u8a8d\n    if (!is_numeric($value)) {\n        return $default;\n    }\n    \n    \/\/ 4. \u6574\u6570\u3078\u306e\u5909\u63db\n    $intValue = (int)$value;\n    \n    \/\/ 5. \u7bc4\u56f2\u306e\u78ba\u8a8d\n    if ($min !== null &amp;&amp; $intValue &lt; $min) {\n        return $min;\n    }\n    \n    if ($max !== null &amp;&amp; $intValue &gt; $max) {\n        return $max;\n    }\n    \n    return $intValue;\n}\n\n\/**\n * \u30d5\u30a9\u30fc\u30e0\u5165\u529b\u304b\u3089\u5b89\u5168\u306b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u53d6\u5f97\u3059\u308b\n * \n * @param string $key \u5165\u529b\u30ad\u30fc\n * @param float $default \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n * @param float $min \u6700\u5c0f\u5024\n * @param float $max \u6700\u5927\u5024\n * @return float \u5909\u63db\u3055\u308c\u305f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\n *\/\nfunction getFloatFromInput($key, $default = 0.0, $min = null, $max = null) {\n    \/\/ 1. \u5165\u529b\u5024\u306e\u5b58\u5728\u78ba\u8a8d\n    if (!isset($_POST[$key])) {\n        return $default;\n    }\n    \n    $value = $_POST[$key];\n    \n    \/\/ 2. \u7a7a\u306e\u5165\u529b\u30c1\u30a7\u30c3\u30af\n    if (empty($value) &amp;&amp; $value !== '0') {\n        return $default;\n    }\n    \n    \/\/ 3. \u6570\u5024\u304b\u3069\u3046\u304b\u306e\u78ba\u8a8d\n    if (!is_numeric($value)) {\n        return $default;\n    }\n    \n    \/\/ 4. \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u5909\u63db\n    $floatValue = (float)$value;\n    \n    \/\/ 5. \u7bc4\u56f2\u306e\u78ba\u8a8d\n    if ($min !== null &amp;&amp; $floatValue &lt; $min) {\n        return $min;\n    }\n    \n    if ($max !== null &amp;&amp; $floatValue &gt; $max) {\n        return $max;\n    }\n    \n    return $floatValue;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    $quantity = getIntFromInput('quantity', 1, 1, 100);\n    $price = getFloatFromInput('price', 0.0, 0.01);\n    \n    $total = $quantity * $price;\n    \n    echo \"\u6570\u91cf: {$quantity}&lt;br&gt;\";\n    echo \"\u5358\u4fa1: {$price}&lt;br&gt;\";\n    echo \"\u5408\u8a08: {$total}&lt;br&gt;\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-62\">3. \u7279\u6b8a\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u51e6\u7406<\/h4>\n\n\n\n<p>\u901a\u8ca8\u3084\u5272\u5408\u306a\u3069\u306e\u7279\u6b8a\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u6301\u3064\u5165\u529b\u5024\u3092\u51e6\u7406\u3059\u308b\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002<\/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 * \u901a\u8ca8\u8868\u8a18\u306e\u5165\u529b\u304b\u3089\u6570\u5024\u3092\u53d6\u5f97\u3059\u308b\n * \n * @param string $key \u5165\u529b\u30ad\u30fc\n * @param float $default \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n * @return float \u5909\u63db\u3055\u308c\u305f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\n *\/\nfunction getCurrencyFromInput($key, $default = 0.0) {\n    if (!isset($_POST[$key])) {\n        return $default;\n    }\n    \n    $value = $_POST[$key];\n    \n    \/\/ \u901a\u8ca8\u8a18\u53f7\u3068\u6841\u533a\u5207\u308a\u3092\u9664\u53bb\n    $cleaned = preg_replace('\/[^\\d.]\/', '', $value);\n    \n    if (!is_numeric($cleaned)) {\n        return $default;\n    }\n    \n    return (float)$cleaned;\n}\n\n\/**\n * \u30d1\u30fc\u30bb\u30f3\u30c8\u8868\u8a18\u306e\u5165\u529b\u304b\u3089\u6570\u5024\u3092\u53d6\u5f97\u3059\u308b (\u4f8b: 50% \u2192 0.5)\n * \n * @param string $key \u5165\u529b\u30ad\u30fc\n * @param float $default \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n * @return float \u5909\u63db\u3055\u308c\u305f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570 (0-1\u306e\u7bc4\u56f2)\n *\/\nfunction getPercentFromInput($key, $default = 0.0) {\n    if (!isset($_POST[$key])) {\n        return $default;\n    }\n    \n    $value = $_POST[$key];\n    \n    \/\/ %\u8a18\u53f7\u3092\u9664\u53bb\n    $cleaned = str_replace('%', '', $value);\n    \n    if (!is_numeric($cleaned)) {\n        return $default;\n    }\n    \n    \/\/ \u30d1\u30fc\u30bb\u30f3\u30c8\u5024\u3092\u5c0f\u6570\u306b\u5909\u63db (50% \u2192 0.5)\n    return (float)$cleaned \/ 100;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    $price = getCurrencyFromInput('price', 0.0);\n    $discount_rate = getPercentFromInput('discount', 0.0);\n    \n    $discount_amount = $price * $discount_rate;\n    $final_price = $price - $discount_amount;\n    \n    echo \"\u4fa1\u683c: \u00a5\" . number_format($price) . \"&lt;br&gt;\";\n    echo \"\u5272\u5f15\u7387: \" . ($discount_rate * 100) . \"%&lt;br&gt;\";\n    echo \"\u5272\u5f15\u984d: \u00a5\" . number_format($discount_amount) . \"&lt;br&gt;\";\n    echo \"\u6700\u7d42\u4fa1\u683c: \u00a5\" . number_format($final_price) . \"&lt;br&gt;\";\n}\n?&gt;\n\n&lt;!-- \u30d5\u30a9\u30fc\u30e0\u4f8b --&gt;\n&lt;form method=\"post\"&gt;\n    &lt;div&gt;\n        &lt;label for=\"price\"&gt;\u4fa1\u683c\uff08\u4f8b: \u00a51,000\uff09:&lt;\/label&gt;\n        &lt;input type=\"text\" name=\"price\" id=\"price\"&gt;\n    &lt;\/div&gt;\n    &lt;div&gt;\n        &lt;label for=\"discount\"&gt;\u5272\u5f15\u7387\uff08\u4f8b: 20%\uff09:&lt;\/label&gt;\n        &lt;input type=\"text\" name=\"discount\" id=\"discount\"&gt;\n    &lt;\/div&gt;\n    &lt;button type=\"submit\"&gt;\u8a08\u7b97&lt;\/button&gt;\n&lt;\/form&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-63\">\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3068\u578b\u5909\u63db\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u5805\u7262\u306a\u5b9f\u88c5<\/h3>\n\n\n\n<p>\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u306e\u51e6\u7406\u3067\u306f\u3001\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\uff08\u691c\u8a3c\uff09\u3068\u578b\u5909\u63db\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u5805\u7262\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-64\">1. \u5165\u529b\u691c\u8a3c\u3068\u578b\u5909\u63db\u306e\u30d5\u30ed\u30fc<\/h4>\n\n\n\n<p>\u4ee5\u4e0b\u306f\u3001\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u306e\u691c\u8a3c\u3068\u578b\u5909\u63db\u306e\u63a8\u5968\u30d5\u30ed\u30fc\u3067\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5165\u529b\u5024\u306e\u5b58\u5728\u78ba\u8a8d\uff08isset\u3001empty\uff09<\/li>\n\n\n\n<li>\u57fa\u672c\u7684\u306a\u30c7\u30fc\u30bf\u578b\u306e\u691c\u8a3c\uff08is_numeric\u3001preg_match\uff09<\/li>\n\n\n\n<li>\u660e\u793a\u7684\u306a\u578b\u5909\u63db\uff08intval\u3001floatval\u3001(int)\u3001(float)\uff09<\/li>\n\n\n\n<li>\u30d3\u30b8\u30cd\u30b9\u30eb\u30fc\u30eb\u306b\u57fa\u3065\u304f\u8ffd\u52a0\u691c\u8a3c\uff08\u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u306a\u3069\uff09<\/li>\n\n\n\n<li>\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0<\/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\/**\n * \u30d5\u30a9\u30fc\u30e0\u5165\u529b\u3092\u51e6\u7406\u3059\u308b\u30af\u30e9\u30b9\n *\/\nclass FormProcessor {\n    private $errors = [];\n    private $values = [];\n    \n    \/**\n     * \u6574\u6570\u5024\u3092\u691c\u8a3c\u3057\u3066\u53d6\u5f97\n     *\/\n    public function getInt($key, $default = 0, $min = null, $max = null) {\n        if (!isset($_POST[$key])) {\n            $this-&gt;values[$key] = $default;\n            return $default;\n        }\n        \n        $value = $_POST[$key];\n        \n        if ($value === '') {\n            $this-&gt;values[$key] = $default;\n            return $default;\n        }\n        \n        \/\/ \u6570\u5024\u5f62\u5f0f\u304b\u30c1\u30a7\u30c3\u30af\n        if (!is_numeric($value)) {\n            $this-&gt;errors[$key] = \"\u6574\u6570\u5024\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\";\n            $this-&gt;values[$key] = $default;\n            return $default;\n        }\n        \n        \/\/ \u6574\u6570\u3078\u306e\u5909\u63db\n        $intValue = (int)$value;\n        \n        \/\/ \u6700\u5c0f\u5024\u30c1\u30a7\u30c3\u30af\n        if ($min !== null &amp;&amp; $intValue &lt; $min) {\n            $this-&gt;errors[$key] = \"{$min}\u4ee5\u4e0a\u306e\u5024\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\";\n            $this-&gt;values[$key] = $min;\n            return $min;\n        }\n        \n        \/\/ \u6700\u5927\u5024\u30c1\u30a7\u30c3\u30af\n        if ($max !== null &amp;&amp; $intValue &gt; $max) {\n            $this-&gt;errors[$key] = \"{$max}\u4ee5\u4e0b\u306e\u5024\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\";\n            $this-&gt;values[$key] = $max;\n            return $max;\n        }\n        \n        $this-&gt;values[$key] = $intValue;\n        return $intValue;\n    }\n    \n    \/**\n     * \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u691c\u8a3c\u3057\u3066\u53d6\u5f97\n     *\/\n    public function getFloat($key, $default = 0.0, $min = null, $max = null) {\n        if (!isset($_POST[$key])) {\n            $this-&gt;values[$key] = $default;\n            return $default;\n        }\n        \n        $value = $_POST[$key];\n        \n        if ($value === '') {\n            $this-&gt;values[$key] = $default;\n            return $default;\n        }\n        \n        \/\/ \u6570\u5024\u5f62\u5f0f\u304b\u30c1\u30a7\u30c3\u30af\n        if (!is_numeric($value)) {\n            $this-&gt;errors[$key] = \"\u6570\u5024\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\";\n            $this-&gt;values[$key] = $default;\n            return $default;\n        }\n        \n        \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u5909\u63db\n        $floatValue = (float)$value;\n        \n        \/\/ \u6700\u5c0f\u5024\u30c1\u30a7\u30c3\u30af\n        if ($min !== null &amp;&amp; $floatValue &lt; $min) {\n            $this-&gt;errors[$key] = \"{$min}\u4ee5\u4e0a\u306e\u5024\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\";\n            $this-&gt;values[$key] = $min;\n            return $min;\n        }\n        \n        \/\/ \u6700\u5927\u5024\u30c1\u30a7\u30c3\u30af\n        if ($max !== null &amp;&amp; $floatValue &gt; $max) {\n            $this-&gt;errors[$key] = \"{$max}\u4ee5\u4e0b\u306e\u5024\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\";\n            $this-&gt;values[$key] = $max;\n            return $max;\n        }\n        \n        $this-&gt;values[$key] = $floatValue;\n        return $floatValue;\n    }\n    \n    \/**\n     * \u30a8\u30e9\u30fc\u3092\u53d6\u5f97\n     *\/\n    public function getErrors() {\n        return $this-&gt;errors;\n    }\n    \n    \/**\n     * \u691c\u8a3c\u6e08\u307f\u306e\u5024\u3092\u53d6\u5f97\n     *\/\n    public function getValues() {\n        return $this-&gt;values;\n    }\n    \n    \/**\n     * \u30a8\u30e9\u30fc\u304c\u3042\u308b\u304b\u30c1\u30a7\u30c3\u30af\n     *\/\n    public function hasErrors() {\n        return !empty($this-&gt;errors);\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    $processor = new FormProcessor();\n    \n    \/\/ \u5024\u306e\u53d6\u5f97\u3068\u691c\u8a3c\n    $quantity = $processor-&gt;getInt('quantity', 1, 1, 100);\n    $price = $processor-&gt;getFloat('price', 0.0, 0.01);\n    $shipping = $processor-&gt;getFloat('shipping', 0.0, 0.0);\n    \n    \/\/ \u30a8\u30e9\u30fc\u306e\u78ba\u8a8d\n    if ($processor-&gt;hasErrors()) {\n        $errors = $processor-&gt;getErrors();\n        echo \"&lt;div class='errors'&gt;\";\n        foreach ($errors as $field =&gt; $message) {\n            echo \"&lt;p&gt;{$field}: {$message}&lt;\/p&gt;\";\n        }\n        echo \"&lt;\/div&gt;\";\n    } else {\n        \/\/ \u8a08\u7b97\n        $subtotal = $quantity * $price;\n        $total = $subtotal + $shipping;\n        \n        echo \"&lt;div class='result'&gt;\";\n        echo \"&lt;p&gt;\u6570\u91cf: {$quantity}&lt;\/p&gt;\";\n        echo \"&lt;p&gt;\u5358\u4fa1: \u00a5\" . number_format($price) . \"&lt;\/p&gt;\";\n        echo \"&lt;p&gt;\u5c0f\u8a08: \u00a5\" . number_format($subtotal) . \"&lt;\/p&gt;\";\n        echo \"&lt;p&gt;\u9001\u6599: \u00a5\" . number_format($shipping) . \"&lt;\/p&gt;\";\n        echo \"&lt;p&gt;\u5408\u8a08: \u00a5\" . number_format($total) . \"&lt;\/p&gt;\";\n        echo \"&lt;\/div&gt;\";\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-65\">2. \u30af\u30e9\u30b9\u306e\u578b\u5ba3\u8a00\u3092\u6d3b\u7528\u3057\u305f\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\uff08PHP 7.4\u4ee5\u964d\uff09<\/h4>\n\n\n\n<p>PHP 7.4\u4ee5\u964d\u3067\u306f\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u578b\u5ba3\u8a00\u3092\u4f7f\u7528\u3057\u3066\u3001\u3088\u308a\u5805\u7262\u306a\u30af\u30e9\u30b9\u30d9\u30fc\u30b9\u306e\u30d5\u30a9\u30fc\u30e0\u51e6\u7406\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/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\/\/ PHP 7.4\u4ee5\u964d\nclass ProductOrder {\n    public int $product_id;\n    public int $quantity;\n    public float $price;\n    public ?float $discount = null;\n    \n    \/**\n     * \u30d5\u30a9\u30fc\u30e0\u30c7\u30fc\u30bf\u304b\u3089\u6ce8\u6587\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\n     *\/\n    public static function fromFormData(array $data): ?self {\n        try {\n            $order = new self();\n            \n            \/\/ \u578b\u5ba3\u8a00\u306b\u3088\u308a\u3001\u4e0d\u6b63\u306a\u5024\u306f\u81ea\u52d5\u7684\u306bTypeError\u3092\u767a\u751f\n            $order-&gt;product_id = filter_var($data['product_id'] ?? 0, FILTER_VALIDATE_INT);\n            $order-&gt;quantity = filter_var($data['quantity'] ?? 0, FILTER_VALIDATE_INT);\n            $order-&gt;price = filter_var($data['price'] ?? 0, FILTER_VALIDATE_FLOAT);\n            \n            if (isset($data['discount']) &amp;&amp; $data['discount'] !== '') {\n                $order-&gt;discount = filter_var($data['discount'], FILTER_VALIDATE_FLOAT);\n            }\n            \n            \/\/ \u8ffd\u52a0\u691c\u8a3c\n            if ($order-&gt;product_id &lt;= 0) {\n                throw new InvalidArgumentException(\"\u7121\u52b9\u306a\u5546\u54c1ID\u3067\u3059\");\n            }\n            \n            if ($order-&gt;quantity &lt;= 0) {\n                throw new InvalidArgumentException(\"\u6570\u91cf\u306f1\u4ee5\u4e0a\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\");\n            }\n            \n            if ($order-&gt;price &lt; 0) {\n                throw new InvalidArgumentException(\"\u4fa1\u683c\u306f0\u4ee5\u4e0a\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\");\n            }\n            \n            if ($order-&gt;discount !== null &amp;&amp; ($order-&gt;discount &lt; 0 || $order-&gt;discount &gt; $order-&gt;price)) {\n                throw new InvalidArgumentException(\"\u5272\u5f15\u984d\u306f0\u304b\u3089\u4fa1\u683c\u4ee5\u4e0b\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\");\n            }\n            \n            return $order;\n        } catch (TypeError | InvalidArgumentException $e) {\n            \/\/ \u30a8\u30e9\u30fc\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u306a\u3069\u306e\u51e6\u7406\n            error_log(\"\u6ce8\u6587\u30c7\u30fc\u30bf\u5909\u63db\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage());\n            return null;\n        }\n    }\n    \n    \/**\n     * \u5408\u8a08\u91d1\u984d\u3092\u8a08\u7b97\n     *\/\n    public function calculateTotal(): float {\n        $total = $this-&gt;price * $this-&gt;quantity;\n        \n        if ($this-&gt;discount !== null) {\n            $total -= $this-&gt;discount;\n        }\n        \n        return max(0, $total); \/\/ \u8ca0\u306e\u5024\u306b\u306a\u3089\u306a\u3044\u3088\u3046\u306b\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    $order = ProductOrder::fromFormData($_POST);\n    \n    if ($order !== null) {\n        $total = $order-&gt;calculateTotal();\n        echo \"\u6ce8\u6587\u5408\u8a08: \u00a5\" . number_format($total);\n    } else {\n        echo \"\u6ce8\u6587\u30c7\u30fc\u30bf\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\";\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-66\">3. PSR-7\u6e96\u62e0\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u51e6\u7406\uff08\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u306e\u4f8b\uff09<\/h4>\n\n\n\n<p>\u30e2\u30c0\u30f3\u306aPHP\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u306f\u3001PSR-7\u6e96\u62e0\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f7f\u7528\u3057\u3066\u5165\u529b\u3092\u51e6\u7406\u3059\u308b\u3053\u3068\u304c\u4e00\u822c\u7684\u3067\u3059\u3002<\/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\/\/ PSR-7\u6e96\u62e0\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u51e6\u7406\u4f8b\uff08\u64ec\u4f3c\u30b3\u30fc\u30c9\uff09\nclass OrderController {\n    \/**\n     * \u6ce8\u6587\u51e6\u7406\u30a2\u30af\u30b7\u30e7\u30f3\n     *\/\n    public function processOrder(ServerRequestInterface $request) {\n        \/\/ \u30ea\u30af\u30a8\u30b9\u30c8\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\n        $data = $request-&gt;getParsedBody();\n        \n        \/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3068\u5909\u63db\n        $validator = new Validator();\n        $validator-&gt;integer('product_id', $data['product_id'] ?? null)-&gt;required()-&gt;min(1);\n        $validator-&gt;integer('quantity', $data['quantity'] ?? null)-&gt;required()-&gt;min(1)-&gt;max(100);\n        $validator-&gt;number('price', $data['price'] ?? null)-&gt;required()-&gt;min(0.01);\n        \n        \/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc\u306e\u78ba\u8a8d\n        if ($validator-&gt;fails()) {\n            return new Response(\n                json_encode(['errors' =&gt; $validator-&gt;getErrors()]),\n                400,\n                ['Content-Type' =&gt; 'application\/json']\n            );\n        }\n        \n        \/\/ \u691c\u8a3c\u6e08\u307f\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\n        $validData = $validator-&gt;getValidData();\n        \n        \/\/ \u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u306e\u5b9f\u884c\n        $orderService = new OrderService();\n        $order = $orderService-&gt;createOrder(\n            $validData['product_id'],\n            $validData['quantity'],\n            $validData['price']\n        );\n        \n        \/\/ \u5fdc\u7b54\u3092\u8fd4\u3059\n        return new Response(\n            json_encode(['success' =&gt; true, 'order_id' =&gt; $order-&gt;getId()]),\n            201,\n            ['Content-Type' =&gt; 'application\/json']\n        );\n    }\n}\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-67\">\u5b9f\u8df5\u7684\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56<\/h3>\n\n\n\n<p>\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u306e\u51e6\u7406\u3067\u306f\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3082\u91cd\u8981\u306a\u8003\u616e\u4e8b\u9805\u3067\u3059\u3002\u7279\u306b\u3001SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u3084XSS\u306a\u3069\u306e\u653b\u6483\u3092\u9632\u3050\u305f\u3081\u306b\u306f\u3001\u9069\u5207\u306a\u5bfe\u7b56\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-68\">1. SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u5bfe\u7b56<\/h4>\n\n\n\n<p>\u6570\u5024\u5909\u63db\u3068\u30d1\u30e9\u30e1\u30fc\u30bf\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u3092\u9632\u304e\u307e\u3059\u3002<\/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\/\/ \u5b89\u5168\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u64cd\u4f5c\u306e\u4f8b\nfunction getUserOrders($userId) {\n    \/\/ 1. \u5165\u529b\u5024\u3092\u6574\u6570\u306b\u5909\u63db\n    $userId = (int)$userId;\n    \n    \/\/ 2. PDO\u3092\u4f7f\u7528\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\uff08\u4e8c\u91cd\u306e\u5b89\u5168\u5bfe\u7b56\uff09\n    $pdo = new PDO('mysql:host=localhost;dbname=shop', 'username', 'password');\n    $pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n    \n    $stmt = $pdo-&gt;prepare('SELECT * FROM orders WHERE user_id = :userId');\n    $stmt-&gt;bindParam(':userId', $userId, PDO::PARAM_INT);\n    $stmt-&gt;execute();\n    \n    return $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n}\n\n\/\/ \u4f7f\u7528\u4f8b\ntry {\n    $userId = $_GET['user_id'] ?? 0;\n    $orders = getUserOrders($userId);\n    \n    \/\/ \u7d50\u679c\u3092\u51e6\u7406\n    foreach ($orders as $order) {\n        echo \"\u6ce8\u6587ID: {$order['id']}, \u91d1\u984d: {$order['amount']}&lt;br&gt;\";\n    }\n} catch (PDOException $e) {\n    \/\/ \u30a8\u30e9\u30fc\u51e6\u7406\uff08\u672c\u756a\u74b0\u5883\u3067\u306f\u8a73\u7d30\u3092\u8868\u793a\u3057\u306a\u3044\uff09\n    echo \"\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\";\n    error_log($e-&gt;getMessage());\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-69\">2. \u30c7\u30fc\u30bf\u306e\u6574\u5408\u6027\u78ba\u4fdd<\/h4>\n\n\n\n<p>\u6570\u5024\u306e\u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u3084\u30d3\u30b8\u30cd\u30b9\u30eb\u30fc\u30eb\u306e\u691c\u8a3c\u3092\u884c\u3044\u3001\u30c7\u30fc\u30bf\u306e\u6574\u5408\u6027\u3092\u78ba\u4fdd\u3057\u307e\u3059\u3002<\/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 * \u5272\u5f15\u30af\u30fc\u30dd\u30f3\u3092\u9069\u7528\u3059\u308b\n * \n * @param float $amount \u6ce8\u6587\u91d1\u984d\n * @param string $couponCode \u30af\u30fc\u30dd\u30f3\u30b3\u30fc\u30c9\n * @return float \u5272\u5f15\u5f8c\u306e\u91d1\u984d\n *\/\nfunction applyCoupon($amount, $couponCode) {\n    \/\/ 1. \u91d1\u984d\u3092\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\u3057\u30010\u672a\u6e80\u306e\u5834\u5408\u306f0\u306b\n    $amount = max(0, (float)$amount);\n    \n    \/\/ 2. \u30af\u30fc\u30dd\u30f3\u306e\u691c\u8a3c\uff08\u4f8b: \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u691c\u7d22\uff09\n    $coupon = getCouponByCode($couponCode);\n    \n    if (!$coupon) {\n        throw new InvalidArgumentException(\"\u7121\u52b9\u306a\u30af\u30fc\u30dd\u30f3\u30b3\u30fc\u30c9\u3067\u3059\");\n    }\n    \n    \/\/ 3. \u30af\u30fc\u30dd\u30f3\u306e\u6709\u52b9\u671f\u9650\u78ba\u8a8d\n    if (strtotime($coupon['expires_at']) &lt; time()) {\n        throw new InvalidArgumentException(\"\u30af\u30fc\u30dd\u30f3\u306e\u6709\u52b9\u671f\u9650\u304c\u5207\u308c\u3066\u3044\u307e\u3059\");\n    }\n    \n    \/\/ 4. \u5272\u5f15\u8a08\u7b97\uff08\u30d1\u30fc\u30bb\u30f3\u30c8\u307e\u305f\u306f\u56fa\u5b9a\u91d1\u984d\uff09\n    if ($coupon['type'] === 'percent') {\n        \/\/ \u30d1\u30fc\u30bb\u30f3\u30c8\u5272\u5f15\uff080-100%\u306e\u7bc4\u56f2\u306b\u5236\u9650\uff09\n        $discountRate = min(100, max(0, (float)$coupon['value'])) \/ 100;\n        $discountAmount = $amount * $discountRate;\n    } else {\n        \/\/ \u56fa\u5b9a\u91d1\u984d\u5272\u5f15\uff08\u6ce8\u6587\u91d1\u984d\u3092\u8d85\u3048\u306a\u3044\u3088\u3046\u306b\uff09\n        $discountAmount = min($amount, max(0, (float)$coupon['value']));\n    }\n    \n    \/\/ 5. \u6700\u7d42\u91d1\u984d\uff08\u30de\u30a4\u30ca\u30b9\u306b\u306a\u3089\u306a\u3044\u3088\u3046\u306b\uff09\n    $finalAmount = max(0, $amount - $discountAmount);\n    \n    return $finalAmount;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\ntry {\n    $amount = $_POST['amount'] ?? 0;\n    $couponCode = $_POST['coupon_code'] ?? '';\n    \n    $discountedAmount = applyCoupon($amount, $couponCode);\n    \n    echo \"\u5143\u306e\u91d1\u984d: \u00a5\" . number_format($amount) . \"&lt;br&gt;\";\n    echo \"\u5272\u5f15\u5f8c\u91d1\u984d: \u00a5\" . number_format($discountedAmount) . \"&lt;br&gt;\";\n} catch (InvalidArgumentException $e) {\n    echo \"\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage();\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-70\">PHP 7.x\u30688.x\u3067\u306e\u6ce8\u610f\u70b9<\/h3>\n\n\n\n<p>PHP 7.x\u30688.x\u3067\u306f\u3001\u578b\u5909\u63db\u306e\u6319\u52d5\u306b\u9055\u3044\u304c\u3042\u308a\u307e\u3059\u3002\u7279\u306bPHP 8\u3067\u306f\u3001\u3088\u308a\u53b3\u683c\u306a\u30a8\u30e9\u30fc\u51e6\u7406\u304c\u884c\u308f\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/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\/\/ PHP 7.x\u30688.x\u3067\u306e\u9055\u3044\n\n\/\/ \u4f8b1: \u6570\u5024\u3067\u306a\u3044\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\n$value = \"abc\";\n$number = (int)$value;\n\/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$number = 0\n\/\/ PHP 8.x: Warning: Implicit conversion from non-numeric string\u3001$number = 0\n\n\/\/ \u4f8b2: \u914d\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\n$arr = [1, 2, 3];\n$number = (int)$arr;\n\/\/ PHP 7.x: Notice: Array to int conversion\u3001$number = 1\n\/\/ PHP 8.x: Warning: Array to int conversion\u3001$number = 1\n\n\/\/ \u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u4f9d\u5b58\u3057\u306a\u3044\u5b89\u5168\u306a\u30b3\u30fc\u30c9\nfunction safeConvert($value, $default = 0) {\n    if (is_array($value)) {\n        return $default;\n    }\n    \n    if (is_string($value) &amp;&amp; !is_numeric($value)) {\n        return $default;\n    }\n    \n    return (int)$value;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$inputs = [\"123\", \"abc\", [1, 2, 3]];\nforeach ($inputs as $input) {\n    $result = safeConvert($input);\n    echo \"\u5165\u529b: \" . (is_array($input) ? \"Array\" : $input) . \", \u7d50\u679c: {$result}&lt;br&gt;\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-71\">\u307e\u3068\u3081<\/h3>\n\n\n\n<p>\u30d5\u30a9\u30fc\u30e0\u5165\u529b\u306e\u51e6\u7406\u306b\u304a\u3044\u3066\u306f\u3001\u4ee5\u4e0b\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u5fc3\u304c\u3051\u307e\u3057\u3087\u3046\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5e38\u306b\u5165\u529b\u5024\u3092\u691c\u8a3c\u3059\u308b<\/strong>\uff1a <code>is_numeric()<\/code>, <code>filter_var()<\/code>, \u6b63\u898f\u8868\u73fe\u306a\u3069\u3092\u4f7f\u7528<\/li>\n\n\n\n<li><strong>\u660e\u793a\u7684\u306b\u578b\u3092\u5909\u63db\u3059\u308b<\/strong>\uff1a <code>(int)<\/code>, <code>(float)<\/code>, <code>intval()<\/code>, <code>floatval()<\/code>\u306a\u3069\u306e\u95a2\u6570\u3092\u4f7f\u7528<\/li>\n\n\n\n<li><strong>\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3068\u30a8\u30e9\u30fc\u51e6\u7406\u3092\u7d44\u307f\u5408\u308f\u305b\u308b<\/strong>\uff1a \u5165\u529b\u30a8\u30e9\u30fc\u3092\u9069\u5207\u306b\u51e6\u7406\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u306b\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u63d0\u4f9b<\/li>\n\n\n\n<li><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u8003\u616e\u3059\u308b<\/strong>\uff1a SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u3084XSS\u5bfe\u7b56\u3092\u5fd8\u308c\u305a\u306b<\/li>\n\n\n\n<li><strong>PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u308b\u9055\u3044\u3092\u610f\u8b58\u3059\u308b<\/strong>\uff1a PHP 8\u3067\u306f\u578b\u306b\u95a2\u3059\u308b\u8b66\u544a\u304c\u3088\u308a\u53b3\u683c\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f<\/li>\n\n\n\n<li><strong>\u696d\u52d9\u30ed\u30b8\u30c3\u30af\u306b\u5fdc\u3058\u305f\u8ffd\u52a0\u691c\u8a3c\u3092\u884c\u3046<\/strong>\uff1a \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u3001\u30d3\u30b8\u30cd\u30b9\u30eb\u30fc\u30eb\u306e\u691c\u8a3c\u3092\u8ffd\u52a0<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u539f\u5247\u3092\u5b88\u308b\u3053\u3068\u3067\u3001\u5805\u7262\u3067\u5b89\u5168\u306aWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001PHP\u306e\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u304a\u3051\u308b\u578b\u5909\u63db\u306e\u5909\u5316\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-72\">PHP\u306e\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u304a\u3051\u308b\u578b\u5909\u63db\u306e\u5909\u5316<\/h2>\n\n\n\n<p>PHP\u306f\u9577\u3044\u9593\u3001\u52d5\u7684\u578b\u4ed8\u3051\u8a00\u8a9e\u3068\u3057\u3066\u306e\u67d4\u8edf\u6027\u3092\u7279\u5fb4\u3068\u3057\u3066\u304d\u307e\u3057\u305f\u304c\u3001PHP 7\u4ee5\u964d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u578b\u30b7\u30b9\u30c6\u30e0\u304c\u5927\u5e45\u306b\u5f37\u5316\u3055\u308c\u3001\u3088\u308a\u5805\u7262\u306a\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u3089\u306e\u5909\u66f4\u306f\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u76f8\u4e92\u5909\u63db\u306b\u3082\u5927\u304d\u306a\u5f71\u97ff\u3092\u4e0e\u3048\u3066\u3044\u307e\u3059\u3002\u672c\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001PHP 7.x\u304b\u30898.x\u306b\u304b\u3051\u3066\u306e\u578b\u5909\u63db\u306e\u6319\u52d5\u5909\u66f4\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-73\">PHP 7.x\u4ee5\u964d\u306e\u578b\u5909\u63db\u306e\u6319\u52d5\u5909\u66f4\u70b9<\/h3>\n\n\n\n<p>PHP 7\u30b7\u30ea\u30fc\u30ba\u3067\u306f\u3001\u5404\u30de\u30a4\u30ca\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3\u3054\u3068\u306b\u578b\u30b7\u30b9\u30c6\u30e0\u304c\u6bb5\u968e\u7684\u306b\u5f37\u5316\u3055\u308c\u3066\u304d\u307e\u3057\u305f\u3002\u3053\u308c\u3089\u306e\u5909\u66f4\u306f\u3001\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u306b\u3082\u5f71\u97ff\u3092\u53ca\u307c\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-74\">PHP 7.0: \u578b\u5ba3\u8a00\u306e\u5f37\u5316<\/h4>\n\n\n\n<p>PHP 7.0\u3067\u306f\u3001\u623b\u308a\u5024\u306e\u578b\u5ba3\u8a00\u3084\u53b3\u683c\u306a\u578b\u30c1\u30a7\u30c3\u30af\u30e2\u30fc\u30c9\u304c\u5c0e\u5165\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u578b\u5909\u63db\u306b\u95a2\u3057\u3066\u3082\u3088\u308a\u660e\u793a\u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/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\/\/ PHP 7.0\u3067\u5c0e\u5165\u3055\u308c\u305f\u623b\u308a\u5024\u306e\u578b\u5ba3\u8a00\nfunction addNumbers(int $a, int $b): int {\n    return $a + $b;\n}\n\n\/\/ \u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u578b\u5ba3\u8a00\u3068\u81ea\u52d5\u7684\u306a\u578b\u5909\u63db\n$result1 = addNumbers(5, 10);        \/\/ OK: 15\n$result2 = addNumbers(\"5\", \"10\");    \/\/ OK: 15 (\u6587\u5b57\u5217\u304c\u81ea\u52d5\u7684\u306b\u6574\u6570\u306b\u5909\u63db\u3055\u308c\u308b)\n\n\/\/ \u53b3\u683c\u578b\u30c1\u30a7\u30c3\u30af\u30e2\u30fc\u30c9\u306e\u5c0e\u5165\ndeclare(strict_types=1);\n\nfunction strictAdd(int $a, int $b): int {\n    return $a + $b;\n}\n\n\/\/ \u53b3\u683c\u30e2\u30fc\u30c9\u3067\u306f\u578b\u5f37\u5236\u304c\u884c\u308f\u308c\u306a\u3044\n$result3 = strictAdd(5, 10);         \/\/ OK: 15\n\/\/ $result4 = strictAdd(\"5\", \"10\");  \/\/ TypeError: strictAdd(): Argument #1 ($a) must be of type int, string given\n?&gt;\n<\/pre>\n\n\n\n<p>\u53b3\u683c\u578b\u30c1\u30a7\u30c3\u30af\u30e2\u30fc\u30c9\uff08<code>strict_types=1<\/code>\uff09\u3067\u306f\u3001\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u81ea\u52d5\u5909\u63db\u304c\u7121\u52b9\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u578b\u306e\u4e0d\u4e00\u81f4\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u691c\u51fa\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-75\">PHP 7.1: Nullable\u578b\u3068\u95a2\u9023\u6a5f\u80fd<\/h4>\n\n\n\n<p>PHP 7.1\u3067\u306f\u3001Nullable\u578b\uff08<code>?\u578b<\/code>\uff09\u304c\u5c0e\u5165\u3055\u308c\u3001null\u3092\u8a31\u5bb9\u3059\u308b\u578b\u5ba3\u8a00\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/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\/\/ PHP 7.1\u3067\u5c0e\u5165\u3055\u308c\u305fNullable\u578b\nfunction processValue(?int $value): ?float {\n    if ($value === null) {\n        return null;\n    }\n    return $value * 1.5;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$result1 = processValue(10);     \/\/ 15.0\n$result2 = processValue(null);   \/\/ null\n$result3 = processValue(\"10\");   \/\/ 15.0\uff08strict_types=1\u304c\u5ba3\u8a00\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\uff09\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u5909\u66f4\u306b\u3088\u308a\u3001\u300c\u5024\u304c\u5b58\u5728\u3057\u306a\u3044\u300d\u72b6\u614b\u3068\u300c\u30bc\u30ed\u300d\u3084\u300c\u7a7a\u6587\u5b57\u5217\u300d\u3092\u660e\u78ba\u306b\u533a\u5225\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-76\">PHP 7.4: \u30d7\u30ed\u30d1\u30c6\u30a3\u578b\u5ba3\u8a00<\/h4>\n\n\n\n<p>PHP 7.4\u3067\u306f\u3001\u30af\u30e9\u30b9\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u578b\u5ba3\u8a00\u3092\u4ed8\u3051\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u5185\u306e\u5024\u306e\u578b\u5b89\u5168\u6027\u304c\u5411\u4e0a\u3057\u307e\u3057\u305f\u3002<\/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\/\/ PHP 7.4\u3067\u5c0e\u5165\u3055\u308c\u305f\u30d7\u30ed\u30d1\u30c6\u30a3\u578b\u5ba3\u8a00\nclass Product {\n    public int $id;\n    public string $name;\n    public float $price;\n    public ?string $description;\n    \n    public function __construct(int $id, string $name, float $price, ?string $description = null) {\n        $this-&gt;id = $id;\n        $this-&gt;name = $name;\n        $this-&gt;price = $price;\n        $this-&gt;description = $description;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$product = new Product(1, \"\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\", 49800.0);\n\n\/\/ \u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u4e0d\u6b63\u306a\u578b\u306e\u5024\u3092\u4ee3\u5165\u3059\u308b\u3068TypeError\u304c\u767a\u751f\n\/\/ $product-&gt;price = \"\u5b89\u3044\uff01\";  \/\/ TypeError: Cannot assign string to property Product::$price of type float\n?&gt;\n<\/pre>\n\n\n\n<p>\u30d7\u30ed\u30d1\u30c6\u30a3\u578b\u5ba3\u8a00\u306b\u3088\u308a\u3001\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u4ee3\u5165\u6642\u306b\u578b\u5909\u63db\u306b\u95a2\u3059\u308b\u30a8\u30e9\u30fc\u304c\u691c\u51fa\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-77\">PHP 7.x \u30b7\u30ea\u30fc\u30ba\u3067\u306e\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u306e\u6319\u52d5\u5909\u5316<\/h4>\n\n\n\n<p>PHP 7.x\u5168\u4f53\u3092\u901a\u3057\u3066\u3001\u57fa\u672c\u7684\u306a\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u5909\u63db\u30eb\u30fc\u30eb\u306f\u7dad\u6301\u3055\u308c\u3064\u3064\u3082\u3001\u578b\u306e\u6271\u3044\u304c\u3088\u308a\u53b3\u683c\u306b\u306a\u3063\u3066\u304d\u307e\u3057\u305f\u3002\u7279\u306b\u6ce8\u76ee\u3059\u3079\u304d\u70b9\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=\"\">&lt;?php\n\/\/ 1. \u6570\u5024\u3068\u3057\u3066\u6271\u3048\u306a\u3044\u6587\u5b57\u5217\u3078\u306e\u5bfe\u5fdc\n$value = \"hello\";\n$num = (int)$value;  \/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$num = 0\n\n\/\/ 2. \u6570\u5024\u3067\u59cb\u307e\u308b\u6587\u5b57\u5217\u306e\u6271\u3044\n$value = \"42abc\";\n$num = (int)$value;  \/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$num = 42\n\n\/\/ 3. \u7a7a\u6587\u5b57\u5217\u306e\u6271\u3044\n$value = \"\";\n$num = (int)$value;  \/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$num = 0\n\n\/\/ 4. null\u5024\u306e\u6271\u3044\n$value = null;\n$num = (int)$value;  \/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$num = 0\n?&gt;\n<\/pre>\n\n\n\n<p>PHP 7.x\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u5909\u63db\u64cd\u4f5c\u306f\u8b66\u544a\u306a\u304f\u5b9f\u884c\u3055\u308c\u3001\u4e88\u6e2c\u53ef\u80fd\u306a\u7d50\u679c\u3092\u8fd4\u3057\u307e\u3059\u3002\u3053\u306e\u6319\u52d5\u306f\u3001\u7279\u306b\u53e4\u3044\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3068\u306e\u4e92\u63db\u6027\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u306b\u91cd\u8981\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-78\">PHP 8.0\u306e\u53b3\u683c\u306a\u578b\u30b7\u30b9\u30c6\u30e0\u304c\u578b\u5909\u63db\u306b\u4e0e\u3048\u308b\u5f71\u97ff<\/h3>\n\n\n\n<p>PHP 8.0\u3067\u306f\u3001\u578b\u30b7\u30b9\u30c6\u30e0\u304c\u3055\u3089\u306b\u5f37\u5316\u3055\u308c\u3001\u578b\u5909\u63db\u306e\u6319\u52d5\u306b\u3082\u91cd\u8981\u306a\u5909\u66f4\u304c\u52a0\u3048\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-79\">\u53b3\u683c\u306a\u8b66\u544a\u3068\u30a8\u30e9\u30fc<\/h4>\n\n\n\n<p>PHP 8.0\u3067\u306f\u3001\u4ee5\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u8b66\u544a\u306a\u304f\u51e6\u7406\u3055\u308c\u3066\u3044\u305f\u578b\u5909\u63db\u306b\u5bfe\u3057\u3066\u3001\u3088\u308a\u53b3\u683c\u306a\u8b66\u544a\u3084\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/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\/\/ PHP 8.0\u3067\u306e\u53b3\u683c\u306a\u8b66\u544a\u306e\u4f8b\n\n\/\/ 1. \u6570\u5024\u3068\u3057\u3066\u6271\u3048\u306a\u3044\u6587\u5b57\u5217\u304b\u3089\u306e\u5909\u63db\n$value = \"hello\";\n$num = (int)$value;  \n\/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$num = 0\n\/\/ PHP 8.0: Warning: Implicit conversion from non-numeric string \"hello\" to int\u3001$num = 0\n\n\/\/ 2. \u7a7a\u306e\u914d\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\n$arr = [];\n$num = (int)$arr;\n\/\/ PHP 7.x: Notice: Array to int conversion\u3001$num = 0\n\/\/ PHP 8.0: Warning: Array to int conversion\u3001$num = 0\n\n\/\/ 3. \u6587\u5b57\u5217\u6dfb\u5b57\u306e\u6570\u5024\u7684\u306a\u4f7f\u7528\n$str = \"hello\";\n$char = $str[\"world\"];\n\/\/ PHP 7.x: \u8b66\u544a\u30ec\u30d9\u30eb\u304c\u4f4e\u3044\n\/\/ PHP 8.0: Warning: Illegal string offset \"world\"\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u8b66\u544a\u306f\u3001\u6f5c\u5728\u7684\u306a\u30d0\u30b0\u306e\u65e9\u671f\u767a\u898b\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u65e2\u5b58\u306e\u30b3\u30fc\u30c9\u306b\u5bfe\u3057\u3066\u4e92\u63db\u6027\u306e\u554f\u984c\u3092\u5f15\u304d\u8d77\u3053\u3059\u53ef\u80fd\u6027\u3082\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-80\">Union Types\uff08\u5171\u7528\u578b\uff09\u306e\u5c0e\u5165<\/h4>\n\n\n\n<p>PHP 8.0\u3067\u5c0e\u5165\u3055\u308c\u305fUnion Types\uff08\u5171\u7528\u578b\uff09\u306f\u3001\u8907\u6570\u306e\u578b\u3092\u8a31\u5bb9\u3059\u308b\u578b\u5ba3\u8a00\u3092\u53ef\u80fd\u306b\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u4e21\u65b9\u3092\u53d7\u3051\u5165\u308c\u308b\u95a2\u6570\u3092\u578b\u5b89\u5168\u306b\u5b9a\u7fa9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/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\/\/ PHP 8.0\u3067\u5c0e\u5165\u3055\u308c\u305fUnion Types\nfunction process(string|int $value): string|float {\n    if (is_string($value)) {\n        return \"\u6587\u5b57\u5217: \" . $value;\n    } else {\n        return $value * 1.5;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$result1 = process(10);      \/\/ 15.0\n$result2 = process(\"hello\"); \/\/ \"\u6587\u5b57\u5217: hello\"\n\n\/\/ \u8907\u6570\u306e\u6570\u5024\u578b\u3092\u8a31\u5bb9\nfunction calculateTotal(int|float $price, int $quantity): float {\n    return $price * $quantity;\n}\n\n$total1 = calculateTotal(100, 2);    \/\/ 200.0\n$total2 = calculateTotal(9.99, 3);   \/\/ 29.97\n\/\/ $total3 = calculateTotal(\"10\", 2); \/\/ PHP 8.0\u3067\u3082strict_types=1\u304c\u306a\u3051\u308c\u3070\u52d5\u4f5c\u3059\u308b\n?&gt;\n<\/pre>\n\n\n\n<p>Union Types\u306b\u3088\u308a\u3001\u95a2\u6570\u304c\u53d7\u3051\u5165\u308c\u308b\u578b\u3092\u660e\u793a\u7684\u306b\u5b9a\u7fa9\u3067\u304d\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3068\u3057\u3066\u306e\u5f79\u5272\u3082\u679c\u305f\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-81\">\u540d\u524d\u4ed8\u304d\u5f15\u6570\u3068\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e\u578b\u5b89\u5168\u6027<\/h4>\n\n\n\n<p>PHP 8.0\u3067\u306f\u540d\u524d\u4ed8\u304d\u5f15\u6570\u304c\u5c0e\u5165\u3055\u308c\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e\u578b\u5b89\u5168\u6027\u3082\u5411\u4e0a\u3057\u307e\u3057\u305f\u3002<\/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\/\/ PHP 8.0\u306e\u540d\u524d\u4ed8\u304d\u5f15\u6570\u3068\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e\u578b\u5b89\u5168\u6027\nfunction createProduct(\n    int $id,\n    string $name,\n    float $price = 0.0,\n    ?string $description = null\n) {\n    return [\n        'id' =&gt; $id,\n        'name' =&gt; $name,\n        'price' =&gt; $price,\n        'description' =&gt; $description\n    ];\n}\n\n\/\/ \u540d\u524d\u4ed8\u304d\u5f15\u6570\u3092\u4f7f\u7528\n$product = createProduct(\n    id: 1,\n    name: \"\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\",\n    price: 49800.0\n);\n\n\/\/ \u578b\u306e\u4e0d\u4e00\u81f4\n\/\/ $product = createProduct(\n\/\/     id: \"1\",    \/\/ strict_types=1\u306e\u5834\u5408\u3001\u3053\u3053\u3067TypeError\n\/\/     name: 12345,  \/\/ strict_types=1\u306e\u5834\u5408\u3001\u3053\u3053\u3067TypeError\n\/\/     price: \"\u5b89\u3044\uff01\"  \/\/ strict_types=1\u306e\u5834\u5408\u3001\u3053\u3053\u3067TypeError\n\/\/ );\n?&gt;\n<\/pre>\n\n\n\n<p>\u540d\u524d\u4ed8\u304d\u5f15\u6570\u306b\u3088\u308a\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u610f\u56f3\u304c\u3088\u308a\u660e\u78ba\u306b\u306a\u308a\u3001\u578b\u5b89\u5168\u6027\u3082\u5411\u4e0a\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-82\">nullsafe\u6f14\u7b97\u5b50\u3068\u578b\u5909\u63db<\/h4>\n\n\n\n<p>PHP 8.0\u3067\u5c0e\u5165\u3055\u308c\u305fnullsafe\u6f14\u7b97\u5b50\uff08<code>?-&gt;<\/code>\uff09\u306f\u3001null\u30c1\u30a7\u30c3\u30af\u3068\u578b\u5909\u63db\u3092\u7c21\u6f54\u306b\u8a18\u8ff0\u3059\u308b\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/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\/\/ PHP 8.0\u306enullsafe\u6f14\u7b97\u5b50\nclass User {\n    public function getProfile(): ?Profile {\n        \/\/ \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3059\u308b\u51e6\u7406\n        return null; \/\/ \u307e\u305f\u306f\u65b0\u3057\u3044Profile\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\n    }\n}\n\nclass Profile {\n    public function getSettings(): ?Settings {\n        \/\/ \u8a2d\u5b9a\u3092\u53d6\u5f97\u3059\u308b\u51e6\u7406\n        return new Settings();\n    }\n}\n\nclass Settings {\n    public function getTheme(): string {\n        return \"dark\";\n    }\n}\n\n$user = new User();\n\n\/\/ PHP 7.x\u4ee5\u524d\u306e\u66f8\u304d\u65b9\n$theme = null;\n$profile = $user-&gt;getProfile();\nif ($profile !== null) {\n    $settings = $profile-&gt;getSettings();\n    if ($settings !== null) {\n        $theme = $settings-&gt;getTheme();\n    }\n}\n\n\/\/ PHP 8.0\u306enullsafe\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\n$theme = $user-&gt;getProfile()?-&gt;getSettings()?-&gt;getTheme();\n\/\/ profile\u304cnull\u306e\u5834\u5408\u3001$theme\u306fnull\u306b\u306a\u308b\uff08\u30a8\u30e9\u30fc\u306f\u767a\u751f\u3057\u306a\u3044\uff09\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u6a5f\u80fd\u306fnull\u5024\u306e\u51e6\u7406\u3092\u7c21\u6f54\u306b\u3057\u3001\u578b\u5909\u63db\u306e\u524d\u306bnull\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\u30d1\u30bf\u30fc\u30f3\u3092\u52b9\u7387\u5316\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-83\">PHP 8.0\u3067\u306e\u578b\u5909\u63db\u306e\u5b9f\u8df5\u4f8b\u3068\u5bfe\u7b56<\/h4>\n\n\n\n<p>PHP 8.0\u3078\u306e\u79fb\u884c\u6642\u306b\u6ce8\u610f\u3059\u3079\u304d\u578b\u5909\u63db\u306e\u554f\u984c\u3068\u305d\u306e\u5bfe\u7b56\u3092\u793a\u3057\u307e\u3059\u3002<\/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\/\/ PHP 8.0\u3067\u306e\u578b\u5909\u63db\u306e\u554f\u984c\u3068\u5bfe\u7b56\n\n\/\/ \u554f\u984c1: \u6570\u5024\u3067\u306a\u3044\u6587\u5b57\u5217\u304b\u3089\u306e\u5909\u63db\u8b66\u544a\n$input = $_GET['value'] ?? '';  \/\/ \u30e6\u30fc\u30b6\u30fc\u5165\u529b\u306f\u6587\u5b57\u5217\n\n\/\/ \u60aa\u3044\u4f8b\uff08PHP 8.0\u3067\u8b66\u544a\u304c\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\uff09\n$numValue = (int)$input;\n\n\/\/ \u826f\u3044\u4f8b\uff08is_numeric\u3067\u4e8b\u524d\u30c1\u30a7\u30c3\u30af\uff09\nif (is_numeric($input)) {\n    $numValue = (int)$input;\n} else {\n    $numValue = 0;  \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u7528\n}\n\n\/\/ \u554f\u984c2: \u914d\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u8b66\u544a\nfunction getCount($data) {\n    \/\/ \u60aa\u3044\u4f8b\uff08$data\u304c\u914d\u5217\u306e\u5834\u5408\u3001PHP 8.0\u3067\u8b66\u544a\uff09\n    return (int)$data;\n}\n\n\/\/ \u826f\u3044\u4f8b\uff08\u578b\u30c1\u30a7\u30c3\u30af\u3092\u8ffd\u52a0\uff09\nfunction getSafeCount($data): int {\n    if (is_array($data)) {\n        return count($data);\n    }\n    return is_numeric($data) ? (int)$data : 0;\n}\n\n\/\/ \u554f\u984c3: null\u3068\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e\u6271\u3044\n\/\/ \u60aa\u3044\u4f8b\uff08PHP 8.0\u3067\u306fnull\u5408\u4f53\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\u3059\u308b\u306e\u304c\u4e00\u822c\u7684\uff09\n$value = isset($data['key']) ? $data['key'] : 0;\n\n\/\/ \u826f\u3044\u4f8b\uff08null\u5408\u4f53\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\uff09\n$value = $data['key'] ?? 0;\n\n\/\/ \u3055\u3089\u306b\u826f\u3044\u4f8b\uff08\u578b\u30c1\u30a7\u30c3\u30af\u3092\u8ffd\u52a0\uff09\n$value = isset($data['key']) &amp;&amp; is_numeric($data['key']) ? (int)$data['key'] : 0;\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u30d1\u30bf\u30fc\u30f3\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u3067\u3001PHP 8.0\u306e\u578b\u30b7\u30b9\u30c6\u30e0\u306e\u6069\u6075\u3092\u53d7\u3051\u306a\u304c\u3089\u3001\u8b66\u544a\u3084\u30a8\u30e9\u30fc\u3092\u56de\u907f\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-84\">PHP 8.1\u3067\u306e\u9032\u5316<\/h3>\n\n\n\n<p>PHP 8.1\u3067\u306f\u3001\u3055\u3089\u306b\u578b\u30b7\u30b9\u30c6\u30e0\u304c\u9032\u5316\u3057\u3001\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u306b\u3082\u5f71\u97ff\u3092\u4e0e\u3048\u308b\u65b0\u6a5f\u80fd\u304c\u5c0e\u5165\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-85\">\u5217\u6319\u578b\uff08Enumerations\uff09<\/h4>\n\n\n\n<p>PHP 8.1\u3067\u5c0e\u5165\u3055\u308c\u305f\u5217\u6319\u578b\uff08Enum\uff09\u306f\u3001\u4e00\u9023\u306e\u540d\u524d\u4ed8\u304d\u5b9a\u6570\u3092\u5b9a\u7fa9\u3059\u308b\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u6570\u5024\u3084\u6587\u5b57\u5217\u306e\u4ee3\u308f\u308a\u306b\u578b\u5b89\u5168\u306a\u5217\u6319\u5024\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/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\/\/ PHP 8.1\u306e\u5217\u6319\u578b\uff08Enum\uff09\nenum PaymentStatus: int {\n    case Pending = 0;\n    case Completed = 1;\n    case Failed = 2;\n    case Refunded = 3;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\nfunction updatePaymentStatus(int $orderId, PaymentStatus $status): bool {\n    \/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u66f4\u65b0\u51e6\u7406\uff08\u7701\u7565\uff09\n    echo \"\u6ce8\u6587 {$orderId} \u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092 {$status-&gt;name} ({$status-&gt;value}) \u306b\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002\";\n    return true;\n}\n\n\/\/ \u578b\u5b89\u5168\u306a\u547c\u3073\u51fa\u3057\nupdatePaymentStatus(12345, PaymentStatus::Completed);\n\n\/\/ \u30a8\u30e9\u30fc\u306b\u306a\u308b\u30b1\u30fc\u30b9\uff08\u6587\u5b57\u5217\u304b\u3089\u5217\u6319\u578b\u3078\u306e\u5909\u63db\u306f\u3067\u304d\u306a\u3044\uff09\n\/\/ $status = \"Completed\";\n\/\/ updatePaymentStatus(12345, $status); \/\/ TypeError\n?&gt;\n<\/pre>\n\n\n\n<p>\u5217\u6319\u578b\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u6570\u5024\u3084\u6587\u5b57\u5217\u306e\u578b\u5909\u63db\u306b\u4f34\u3046\u554f\u984c\u3092\u56de\u907f\u3057\u3001\u30b3\u30fc\u30c9\u306e\u610f\u56f3\u3092\u3088\u308a\u660e\u78ba\u306b\u8868\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-86\">\u7d14\u7c8b\u306a\u4ea4\u5dee\u578b\uff08Intersection Types\uff09<\/h4>\n\n\n\n<p>PHP 8.1\u3067\u306f\u3001\u7d14\u7c8b\u306a\u4ea4\u5dee\u578b\uff08Intersection Types\uff09\u3082\u5c0e\u5165\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u3001\u8907\u6570\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u578b\u3068\u3057\u3066\u6307\u5b9a\u3059\u308b\u6a5f\u80fd\u3067\u3059\u3002<\/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\/\/ PHP 8.1\u306e\u4ea4\u5dee\u578b\uff08Intersection Types\uff09\ninterface Countable {\n    public function count(): int;\n}\n\ninterface Serializable {\n    public function serialize(): string;\n}\n\n\/\/ \u4ea4\u5dee\u578b\u3092\u4f7f\u7528\u3057\u305f\u95a2\u6570\nfunction process(Countable&amp;Serializable $object): string {\n    $count = $object-&gt;count();\n    return \"\u9805\u76ee\u6570: {$count}, \u30b7\u30ea\u30a2\u30eb\u5316\u30c7\u30fc\u30bf: \" . $object-&gt;serialize();\n}\n\n\/\/ \u4e21\u65b9\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u5b9f\u88c5\u3057\u305f\u30af\u30e9\u30b9\nclass Collection implements Countable, Serializable {\n    private array $items;\n    \n    public function __construct(array $items) {\n        $this-&gt;items = $items;\n    }\n    \n    public function count(): int {\n        return count($this-&gt;items);\n    }\n    \n    public function serialize(): string {\n        return json_encode($this-&gt;items);\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$collection = new Collection([1, 2, 3]);\necho process($collection);\n?&gt;\n<\/pre>\n\n\n\n<p>\u4ea4\u5dee\u578b\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u8907\u6570\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u8981\u4ef6\u3092\u6e80\u305f\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u578b\u5b89\u5168\u306b\u6271\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-87\">readonly\u4fee\u98fe\u5b50<\/h4>\n\n\n\n<p>PHP 8.1\u3067\u306f\u3001\u30af\u30e9\u30b9\u30d7\u30ed\u30d1\u30c6\u30a3\u306breadonly\u4fee\u98fe\u5b50\u3092\u8ffd\u52a0\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u4e00\u5ea6\u8a2d\u5b9a\u3055\u308c\u305f\u30d7\u30ed\u30d1\u30c6\u30a3\u5024\u3092\u5909\u66f4\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002<\/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\/\/ PHP 8.1\u306ereadonly\u4fee\u98fe\u5b50\nclass Product {\n    public function __construct(\n        public readonly int $id,\n        public readonly string $name,\n        public readonly float $price\n    ) {}\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$product = new Product(1, \"\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\", 49800.0);\necho \"\u5546\u54c1: {$product-&gt;name}, \u4fa1\u683c: {$product-&gt;price}\u5186\";\n\n\/\/ \u8aad\u307f\u53d6\u308a\u5c02\u7528\u30d7\u30ed\u30d1\u30c6\u30a3\u306a\u306e\u3067\u5909\u66f4\u4e0d\u53ef\n\/\/ $product-&gt;price = 39800.0; \/\/ Error: Cannot modify readonly property\n?&gt;\n<\/pre>\n\n\n\n<p>readonly\u4fee\u98fe\u5b50\u306b\u3088\u308a\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4e0d\u5909\u6027\u304c\u4fdd\u8a3c\u3055\u308c\u3001\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u5909\u66f4\u306b\u3088\u308b\u30d0\u30b0\u3092\u9632\u6b62\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-88\">\u8907\u6570\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30b3\u30fc\u30c9\u306e\u66f8\u304d\u65b9<\/h3>\n\n\n\n<p>\u5b9f\u52d9\u3067\u306f\u3001\u8907\u6570\u306ePHP\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u3001PHP 7.x\u30688.x\u306e\u4e21\u65b9\u3067\u52d5\u4f5c\u3059\u308b\u578b\u5909\u63db\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3067\u3059\u3002<\/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 * PHP 7.x\u30688.x\u306e\u4e21\u65b9\u3067\u5b89\u5168\u306b\u52d5\u4f5c\u3059\u308b\u578b\u5909\u63db\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\n *\/\nclass TypeConverter {\n    \/**\n     * \u69d8\u3005\u306a\u5165\u529b\u3092\u5b89\u5168\u306b\u6574\u6570\u306b\u5909\u63db\n     * \n     * @param mixed $value \u5909\u63db\u3059\u308b\u5024\n     * @param int $default \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n     * @return int \u5909\u63db\u7d50\u679c\n     *\/\n    public static function toInt($value, int $default = 0): int {\n        \/\/ null\u307e\u305f\u306f\u7a7a\u6587\u5b57\u5217\u306a\u3089\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n        if ($value === null || $value === '') {\n            return $default;\n        }\n        \n        \/\/ \u914d\u5217\u306a\u3089\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n        if (is_array($value)) {\n            return $default;\n        }\n        \n        \/\/ \u6587\u5b57\u5217\u306a\u3089\u6570\u5024\u304b\u30c1\u30a7\u30c3\u30af\n        if (is_string($value) &amp;&amp; !is_numeric($value)) {\n            return $default;\n        }\n        \n        return (int)$value;\n    }\n    \n    \/**\n     * \u69d8\u3005\u306a\u5165\u529b\u3092\u5b89\u5168\u306b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n     * \n     * @param mixed $value \u5909\u63db\u3059\u308b\u5024\n     * @param float $default \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n     * @return float \u5909\u63db\u7d50\u679c\n     *\/\n    public static function toFloat($value, float $default = 0.0): float {\n        \/\/ null\u307e\u305f\u306f\u7a7a\u6587\u5b57\u5217\u306a\u3089\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n        if ($value === null || $value === '') {\n            return $default;\n        }\n        \n        \/\/ \u914d\u5217\u306a\u3089\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n        if (is_array($value)) {\n            return $default;\n        }\n        \n        \/\/ \u6587\u5b57\u5217\u306a\u3089\u6570\u5024\u304b\u30c1\u30a7\u30c3\u30af\n        if (is_string($value) &amp;&amp; !is_numeric($value)) {\n            return $default;\n        }\n        \n        return (float)$value;\n    }\n    \n    \/**\n     * \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u6570\u5024\u6587\u5b57\u5217\u3092\u6570\u5024\u306b\u5909\u63db\n     * \n     * @param string $value \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u6570\u5024\u6587\u5b57\u5217\n     * @param float $default \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n     * @return float \u5909\u63db\u7d50\u679c\n     *\/\n    public static function parseFormattedNumber(string $value, float $default = 0.0): float {\n        \/\/ \u6841\u533a\u5207\u308a\u30b3\u30f3\u30de\u3092\u9664\u53bb\n        $cleaned = str_replace(',', '', $value);\n        \n        if (!is_numeric($cleaned)) {\n            return $default;\n        }\n        \n        return (float)$cleaned;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$inputs = [\n    \"42\",\n    \"3.14\",\n    \"1,234.56\",\n    \"not a number\",\n    null,\n    [],\n    true\n];\n\nforeach ($inputs as $input) {\n    $intValue = TypeConverter::toInt($input);\n    $floatValue = TypeConverter::toFloat($input);\n    \n    $type = gettype($input);\n    $inputStr = is_array($input) ? \"Array\" : ($input === null ? \"NULL\" : (string)$input);\n    \n    echo \"\u5165\u529b({$type}): {$inputStr}&lt;br&gt;\";\n    echo \"\u6574\u6570\u5909\u63db: {$intValue}&lt;br&gt;\";\n    echo \"\u6d6e\u52d5\u5c0f\u6570\u70b9\u5909\u63db: {$floatValue}&lt;br&gt;\";\n    echo \"---&lt;br&gt;\";\n}\n\n\/\/ \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u6570\u5024\u306e\u5909\u63db\n$formattedNumber = \"1,234,567.89\";\n$number = TypeConverter::parseFormattedNumber($formattedNumber);\necho \"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u5909\u63db: {$formattedNumber} \u2192 {$number}\";\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001PHP\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u4f9d\u5b58\u3057\u306a\u3044\u4e00\u8cab\u3057\u305f\u578b\u5909\u63db\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-89\">\u307e\u3068\u3081\uff1aPHP\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u578b\u5909\u63db\u5bfe\u5fdc<\/h3>\n\n\n\n<p>PHP 7.x\u304b\u30898.x\u3078\u306e\u79fb\u884c\u306b\u304a\u3044\u3066\u3001\u578b\u5909\u63db\u306b\u95a2\u9023\u3059\u308b\u5909\u66f4\u70b9\u3092\u307e\u3068\u3081\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n<div id=\"id-40e8edb5-7c5a-46c7-83bb-dfb34a7feb88\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6a5f\u80fd\/\u5909\u66f4\u70b9<\/th><th>PHP 7.x<\/th><th>PHP 8.0<\/th><th>PHP 8.1<\/th><\/tr><\/thead><tbody><tr><td>\u578b\u5ba3\u8a00<\/td><td>\u57fa\u672c\u578b\u3001\u623b\u308a\u5024\u578b<\/td><td>Union Types\u8ffd\u52a0<\/td><td>Intersection Types\u8ffd\u52a0<\/td><\/tr><tr><td>\u8b66\u544a\u30ec\u30d9\u30eb<\/td><td>\u7de9\u3084\u304b<\/td><td>\u3088\u308a\u53b3\u683c<\/td><td>\u3055\u3089\u306b\u53b3\u683c<\/td><\/tr><tr><td>\u578b\u5b89\u5168\u6027<\/td><td>\u4e2d\u7a0b\u5ea6<\/td><td>\u9ad8\u3044<\/td><td>\u975e\u5e38\u306b\u9ad8\u3044<\/td><\/tr><tr><td>null\u306e\u6271\u3044<\/td><td>Nullable\u578b(?\u578b)<\/td><td>Nullsafe\u6f14\u7b97\u5b50(?-&gt;)<\/td><td>readonly\u4fee\u98fe\u5b50<\/td><\/tr><tr><td>\u5909\u63db\u30a8\u30e9\u30fc<\/td><td>\u4e3b\u306b\u5b9f\u884c\u6642<\/td><td>\u5b9f\u884c\u6642\uff0b\u8b66\u544a\u5f37\u5316<\/td><td>\u5b9f\u884c\u6642\uff0b\u9759\u7684\u89e3\u6790\u63a8\u5968<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p>PHP 8.x\u4ee5\u964d\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u63a8\u5968\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u578b\u5ba3\u8a00\u3092\u7a4d\u6975\u7684\u306b\u4f7f\u7528\u3059\u308b<\/strong>\uff1a Union Types\uff08PHP 8.0\uff09\u3092\u6d3b\u7528\u3057\u3066\u8a31\u5bb9\u3059\u308b\u578b\u3092\u660e\u78ba\u306b\u3059\u308b<\/li>\n\n\n\n<li><strong>\u5165\u529b\u5024\u306e\u691c\u8a3c\u3092\u5fd8\u308c\u306a\u3044<\/strong>\uff1a \u7279\u306b\u5916\u90e8\u304b\u3089\u306e\u5165\u529b\uff08\u30d5\u30a9\u30fc\u30e0\u30c7\u30fc\u30bf\u3001API\u30ec\u30b9\u30dd\u30f3\u30b9\u306a\u3069\uff09\u306b\u5bfe\u3057\u3066\u306f\u4e8b\u524d\u691c\u8a3c\u3092\u884c\u3046<\/li>\n\n\n\n<li><strong>\u9759\u7684\u89e3\u6790\u30c4\u30fc\u30eb\u3092\u6d3b\u7528\u3059\u308b<\/strong>\uff1a PHPStan\u3001Psalm\u306a\u3069\u306e\u30c4\u30fc\u30eb\u3067\u578b\u306b\u95a2\u3059\u308b\u554f\u984c\u3092\u4e8b\u524d\u306b\u691c\u51fa<\/li>\n\n\n\n<li><strong>\u6697\u9ed9\u306e\u578b\u5909\u63db\u306b\u4f9d\u5b58\u3057\u306a\u3044<\/strong>\uff1a \u660e\u793a\u7684\u306a\u578b\u5909\u63db\uff08\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u3001\u5909\u63db\u95a2\u6570\uff09\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li><strong>PHP 8\u306e\u65b0\u6a5f\u80fd\u3092\u6d3b\u7528\u3059\u308b<\/strong>\uff1a match\u5f0f\u3001\u540d\u524d\u4ed8\u304d\u5f15\u6570\u3001\u30a2\u30c8\u30ea\u30d3\u30e5\u30fc\u30c8\u306a\u3069\u3092\u4f7f\u3063\u3066\u578b\u5b89\u5168\u6027\u3092\u9ad8\u3081\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u578b\u30b7\u30b9\u30c6\u30e0\u306e\u5f37\u5316\u306f\u3001PHP\u3092\u3088\u308a\u5805\u7262\u306a\u8a00\u8a9e\u3078\u3068\u9032\u5316\u3055\u305b\u3066\u3044\u307e\u3059\u3002\u9069\u5207\u306b\u578b\u5909\u63db\u3092\u6271\u3046\u3053\u3068\u3067\u3001\u30d0\u30b0\u306e\u5c11\u306a\u3044\u54c1\u8cea\u306e\u9ad8\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<p>\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5404\u5909\u63db\u65b9\u6cd5\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03\u3068\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-90\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\uff1a\u9069\u5207\u306a\u5909\u63db\u65b9\u6cd5\u306e\u9078\u629e<\/h2>\n\n\n\n<p>PHP\u3067\u306f\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u76f8\u4e92\u5909\u63db\u3092\u884c\u3046\u305f\u3081\u306e\u69d8\u3005\u306a\u65b9\u6cd5\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u308c\u3089\u306e\u65b9\u6cd5\u306f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u9762\u3067\u9055\u3044\u304c\u3042\u308a\u307e\u3059\u3002\u7279\u306b\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3059\u308b\u5834\u5408\u3084\u3001\u9ad8\u8ca0\u8377\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u6700\u9069\u306a\u5909\u63db\u65b9\u6cd5\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5927\u5e45\u306b\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5404\u5909\u63db\u65b9\u6cd5\u306e\u5b9f\u884c\u901f\u5ea6\u3092\u6bd4\u8f03\u3057\u3001\u5b9f\u969b\u306e\u958b\u767a\u73fe\u5834\u3067\u5f79\u7acb\u3064\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-91\">\u5404\u5909\u63db\u65b9\u6cd5\u306e\u5b9f\u884c\u901f\u5ea6\u6bd4\u8f03<\/h3>\n\n\n\n<p>\u307e\u305a\u3001\u4e3b\u8981\u306a\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3001\u5b9f\u884c\u901f\u5ea6\u3092\u6bd4\u8f03\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u4ee5\u4e0b\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3067\u306f\u3001\u540c\u3058\u5909\u63db\u51e6\u7406\u3092\u8907\u6570\u306e\u65b9\u6cd5\u3067\u5b9f\u884c\u3057\u3001\u305d\u306e\u901f\u5ea6\u306e\u9055\u3044\u3092\u6e2c\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/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 * \u5404\u5909\u63db\u65b9\u6cd5\u306e\u5b9f\u884c\u901f\u5ea6\u3092\u6bd4\u8f03\u3059\u308b\u30d9\u30f3\u30c1\u30de\u30fc\u30af\n * \n * @param int $iterations \u7e70\u308a\u8fd4\u3057\u56de\u6570\n *\/\nfunction benchmarkConversionMethods($iterations = 1000000) {\n    $methods = [\n        '\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50 (int)' =&gt; function($value) {\n            return (int)$value;\n        },\n        '\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50 (float)' =&gt; function($value) {\n            return (float)$value;\n        },\n        'intval\u95a2\u6570' =&gt; function($value) {\n            return intval($value);\n        },\n        'floatval\u95a2\u6570' =&gt; function($value) {\n            return floatval($value);\n        },\n        'settype\u95a2\u6570' =&gt; function($value) {\n            $copy = $value;\n            settype($copy, 'integer');\n            return $copy;\n        },\n        'filter_var\u95a2\u6570' =&gt; function($value) {\n            return filter_var($value, FILTER_VALIDATE_INT);\n        },\n        '\u6697\u9ed9\u306e\u578b\u5909\u63db(+0)' =&gt; function($value) {\n            return $value + 0;\n        },\n        '\u6697\u9ed9\u306e\u578b\u5909\u63db(*1)' =&gt; function($value) {\n            return $value * 1;\n        }\n    ];\n    \n    $testValues = [\n        '123',       \/\/ \u5358\u7d14\u306a\u6574\u6570\u6587\u5b57\u5217\n        '456.78',    \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6587\u5b57\u5217\n        '0',         \/\/ \u30bc\u30ed\n        '',          \/\/ \u7a7a\u6587\u5b57\u5217\n        'abc123',    \/\/ \u6570\u5024\u4ee5\u5916\u3092\u542b\u3080\u6587\u5b57\u5217\n        '1e3'        \/\/ \u79d1\u5b66\u7684\u8a18\u6570\u6cd5\n    ];\n    \n    foreach ($testValues as $testValue) {\n        echo \"\u5165\u529b\u5024: '{$testValue}'\\n\";\n        echo \"------------------------\\n\";\n        \n        foreach ($methods as $name =&gt; $method) {\n            $startTime = microtime(true);\n            \n            for ($i = 0; $i &lt; $iterations; $i++) {\n                $result = $method($testValue);\n            }\n            \n            $endTime = microtime(true);\n            $executionTime = ($endTime - $startTime) * 1000; \/\/ \u30df\u30ea\u79d2\u5358\u4f4d\n            \n            echo \"{$name}: {$executionTime}ms (\u7d50\u679c: \" . var_export($result, true) . \")\\n\";\n        }\n        \n        echo \"\\n\";\n    }\n}\n\n\/\/ \u30d9\u30f3\u30c1\u30de\u30fc\u30af\u306e\u5b9f\u884c\nbenchmarkConversionMethods(1000000); \/\/ 100\u4e07\u56de\u7e70\u308a\u8fd4\u3057\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-92\">\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u7d50\u679c\u3068\u5206\u6790<\/h4>\n\n\n\n<p>\u4e0a\u8a18\u306e\u3088\u3046\u306a\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001PHP 7.4\u30688.1\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3059\uff08\u74b0\u5883\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\uff09\uff1a<\/p>\n\n\n\n<p><strong>PHP 7.4\u3067\u306e\u7d50\u679c\u6982\u8981\uff08\u6570\u5024\u306f\u30df\u30ea\u79d2\u5358\u4f4d\u3001\u5c0f\u3055\u3044\u307b\u3069\u901f\u3044\uff09<\/strong><\/p>\n\n\n<div id=\"id-9366923c-81ef-4fd9-a068-df43cf854e3f\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5909\u63db\u65b9\u6cd5<\/th><th>\u2018123\u2019<\/th><th>\u2018456.78\u2019<\/th><th>\u20180\u2019<\/th><th>\u201d<\/th><th>\u2018abc123\u2019<\/th><th>\u20181e3\u2019<\/th><\/tr><\/thead><tbody><tr><td>(int)<\/td><td>13.2<\/td><td>14.8<\/td><td>12.9<\/td><td>13.1<\/td><td>14.2<\/td><td>15.7<\/td><\/tr><tr><td>(float)<\/td><td>13.8<\/td><td>15.2<\/td><td>13.4<\/td><td>13.5<\/td><td>15.1<\/td><td>15.9<\/td><\/tr><tr><td>intval()<\/td><td>56.3<\/td><td>58.9<\/td><td>55.8<\/td><td>56.2<\/td><td>57.3<\/td><td>58.5<\/td><\/tr><tr><td>floatval()<\/td><td>58.4<\/td><td>60.2<\/td><td>57.9<\/td><td>58.1<\/td><td>59.5<\/td><td>61.3<\/td><\/tr><tr><td>settype()<\/td><td>86.5<\/td><td>88.2<\/td><td>85.9<\/td><td>86.1<\/td><td>87.4<\/td><td>89.7<\/td><\/tr><tr><td>filter_var()<\/td><td>125.4<\/td><td>128.5<\/td><td>124.8<\/td><td>124.9<\/td><td>false<\/td><td>false<\/td><\/tr><tr><td>+0<\/td><td>14.3<\/td><td>16.1<\/td><td>13.8<\/td><td>14.0<\/td><td>15.5<\/td><td>16.3<\/td><\/tr><tr><td>*1<\/td><td>14.5<\/td><td>16.3<\/td><td>14.0<\/td><td>14.2<\/td><td>15.7<\/td><td>16.5<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p><strong>PHP 8.1\u3067\u306e\u7d50\u679c\u6982\u8981\uff08\u6570\u5024\u306f\u30df\u30ea\u79d2\u5358\u4f4d\u3001\u5c0f\u3055\u3044\u307b\u3069\u901f\u3044\uff09<\/strong><\/p>\n\n\n<div id=\"id-0d6213f2-bf95-44b7-9d3f-c692b1764b54\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5909\u63db\u65b9\u6cd5<\/th><th>\u2018123\u2019<\/th><th>\u2018456.78\u2019<\/th><th>\u20180\u2019<\/th><th>\u201d<\/th><th>\u2018abc123\u2019<\/th><th>\u20181e3\u2019<\/th><\/tr><\/thead><tbody><tr><td>(int)<\/td><td>10.5<\/td><td>11.6<\/td><td>10.1<\/td><td>10.3<\/td><td>11.2<\/td><td>12.3<\/td><\/tr><tr><td>(float)<\/td><td>10.9<\/td><td>11.8<\/td><td>10.5<\/td><td>10.7<\/td><td>11.5<\/td><td>12.5<\/td><\/tr><tr><td>intval()<\/td><td>43.2<\/td><td>44.8<\/td><td>42.7<\/td><td>43.1<\/td><td>44.2<\/td><td>45.1<\/td><\/tr><tr><td>floatval()<\/td><td>44.5<\/td><td>46.1<\/td><td>43.9<\/td><td>44.2<\/td><td>45.3<\/td><td>47.2<\/td><\/tr><tr><td>settype()<\/td><td>72.3<\/td><td>73.9<\/td><td>71.6<\/td><td>71.8<\/td><td>73.1<\/td><td>74.8<\/td><\/tr><tr><td>filter_var()<\/td><td>106.7<\/td><td>109.5<\/td><td>105.9<\/td><td>106.1<\/td><td>false<\/td><td>false<\/td><\/tr><tr><td>+0<\/td><td>11.1<\/td><td>12.5<\/td><td>10.7<\/td><td>10.9<\/td><td>11.8<\/td><td>12.7<\/td><\/tr><tr><td>*1<\/td><td>11.3<\/td><td>12.7<\/td><td>11.0<\/td><td>11.1<\/td><td>12.0<\/td><td>12.9<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<p><strong>\u7d50\u679c\u304b\u3089\u5206\u304b\u308b\u3053\u3068\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50 (int)\/(float) \u304c\u6700\u3082\u9ad8\u901f<\/strong>\uff1a \u5358\u7d14\u306a\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306f\u3001\u4ed6\u306e\u3059\u3079\u3066\u306e\u65b9\u6cd5\u3088\u308a\u3082\u9ad8\u901f\u3067\u3059\u3002\u3053\u308c\u306f\u5185\u90e8\u7684\u306b\u6700\u9069\u5316\u3055\u308c\u3066\u304a\u308a\u3001\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u304c\u6700\u5c0f\u9650\u3060\u304b\u3089\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong>\u6697\u9ed9\u306e\u578b\u5909\u63db\uff08+0\u3084*1\uff09\u3082\u9ad8\u901f<\/strong>\uff1a \u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306b\u6b21\u3044\u3067\u901f\u3044\u306e\u306f\u3001\u7b97\u8853\u6f14\u7b97\u5b50\u3092\u4f7f\u3063\u305f\u6697\u9ed9\u306e\u578b\u5909\u63db\u3067\u3059\u3002\u305f\u3060\u3057\u3001\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u306f\u4f4e\u4e0b\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>intval()\/floatval() \u95a2\u6570\u306f\u4e2d\u7a0b\u5ea6<\/strong>\uff1a \u3053\u308c\u3089\u306e\u95a2\u6570\u306f\u4fbf\u5229\u3067\u3059\u304c\u3001\u95a2\u6570\u547c\u3073\u51fa\u3057\u306e\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u304c\u3042\u308b\u305f\u3081\u3001\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u3088\u308a\u3082\u9045\u304f\u306a\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>settype() \u95a2\u6570\u306f\u6bd4\u8f03\u7684\u9045\u3044<\/strong>\uff1a \u5909\u6570\u81ea\u4f53\u306e\u578b\u3092\u5909\u66f4\u3059\u308b\u6a5f\u80fd\u304c\u3042\u308b\u305f\u3081\u3001\u8ffd\u52a0\u306e\u51e6\u7406\u304c\u5fc5\u8981\u306b\u306a\u308a\u9045\u304f\u306a\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>filter_var() \u95a2\u6570\u306f\u6700\u3082\u9045\u3044<\/strong>\uff1a \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u6a5f\u80fd\u3092\u5099\u3048\u3066\u3044\u308b\u305f\u3081\u3001\u5358\u7d14\u306a\u578b\u5909\u63db\u3088\u308a\u3082\u591a\u304f\u306e\u51e6\u7406\u3092\u884c\u3044\u307e\u3059\u3002\u6570\u5024\u4ee5\u5916\u306e\u5165\u529b\u3067\u306f <code>false<\/code> \u3092\u8fd4\u3059\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n\n\n\n<li><strong>PHP 8.1\u306fPHP 7.4\u3088\u308a\u3082\u5168\u4f53\u7684\u306b\u9ad8\u901f<\/strong>\uff1a JIT\u30b3\u30f3\u30d1\u30a4\u30e9\u306a\u3069\u306e\u6700\u9069\u5316\u306b\u3088\u308a\u3001PHP 8.1\u3067\u306f\u5168\u3066\u306e\u5909\u63db\u65b9\u6cd5\u304c\u7d0415-20%\u9ad8\u901f\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-93\">\u5927\u91cf\u30c7\u30fc\u30bf\u51e6\u7406\u306b\u304a\u3051\u308b\u578b\u5909\u63db\u306e\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<p>\u5b9f\u969b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u306b\u5bfe\u3057\u3066\u578b\u5909\u63db\u3092\u884c\u3046\u3053\u3068\u304c\u3088\u304f\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u3067\u306f\u3001\u305d\u306e\u3088\u3046\u306a\u72b6\u6cc1\u3067\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-94\">1. \u30eb\u30fc\u30d7\u5916\u3067\u306e\u524d\u51e6\u7406<\/h4>\n\n\n\n<p>\u5909\u63db\u65b9\u6cd5\u306e\u9078\u629e\u306b\u52a0\u3048\u3066\u3001\u51e6\u7406\u306e\u69cb\u9020\u3082\u91cd\u8981\u3067\u3059\u3002\u7279\u306b\u3001\u30eb\u30fc\u30d7\u5185\u3067\u306e\u4e0d\u8981\u306a\u51e6\u7406\u3092\u524a\u6e1b\u3059\u308b\u3053\u3068\u3067\u5927\u5e45\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5411\u4e0a\u304c\u898b\u8fbc\u3081\u307e\u3059\u3002<\/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\/\/ \u975e\u52b9\u7387\u306a\u4f8b\uff08\u30eb\u30fc\u30d7\u5185\u3067\u6bce\u56de\u578b\u30c1\u30a7\u30c3\u30af\u3068\u5909\u63db\uff09\nfunction sumValues_inefficient($data) {\n    $sum = 0;\n    foreach ($data as $item) {\n        if (is_array($item) &amp;&amp; isset($item['value'])) {\n            if (is_numeric($item['value'])) {\n                $sum += (float)$item['value'];\n            }\n        }\n    }\n    return $sum;\n}\n\n\/\/ \u6700\u9069\u5316\u3057\u305f\u4f8b\uff08\u578b\u30c1\u30a7\u30c3\u30af\u3092\u4e00\u5ea6\u3060\u3051\u884c\u3044\u3001\u5909\u63db\u65b9\u6cd5\u3092\u56fa\u5b9a\uff09\nfunction sumValues_optimized($data) {\n    $sum = 0;\n    foreach ($data as $item) {\n        if (!is_array($item) || !isset($item['value'])) {\n            continue;\n        }\n        $value = $item['value'];\n        if (!is_numeric($value)) {\n            continue;\n        }\n        \/\/ \u5358\u7d14\u306a\u30ad\u30e3\u30b9\u30c8\u3092\u4f7f\u7528\n        $sum += (float)$value;\n    }\n    return $sum;\n}\n\n\/\/ \u3055\u3089\u306b\u6700\u9069\u5316\uff08\u524d\u51e6\u7406\u3067\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\uff09\nfunction sumValues_moreOptimized($data) {\n    \/\/ \u524d\u51e6\u7406\u3067\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\n    $validItems = array_filter($data, function($item) {\n        return is_array($item) &amp;&amp; isset($item['value']) &amp;&amp; is_numeric($item['value']);\n    });\n    \n    \/\/ \u5909\u63db\u3068\u30b5\u30de\u30ea\u30fc\u3092\u4e00\u5ea6\u306b\u5b9f\u884c\n    return array_sum(array_map(function($item) {\n        return (float)$item['value'];\n    }, $validItems));\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-95\">2. \u914d\u5217\u30c7\u30fc\u30bf\u306e\u4e00\u62ec\u51e6\u7406<\/h4>\n\n\n\n<p>\u5927\u91cf\u306e\u914d\u5217\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3059\u308b\u5834\u5408\u3001PHP\u306e\u914d\u5217\u95a2\u6570\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/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\/\/ \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\n$stringNumbers = array_fill(0, 10000, '123.45');\n\n\/\/ \u65b9\u6cd51: foreach \u30eb\u30fc\u30d7\u3067\u30ad\u30e3\u30b9\u30c8\n$start = microtime(true);\n$result1 = [];\nforeach ($stringNumbers as $num) {\n    $result1[] = (float)$num;\n}\n$time1 = microtime(true) - $start;\n\n\/\/ \u65b9\u6cd52: array_map \u3067\u30ad\u30e3\u30b9\u30c8\n$start = microtime(true);\n$result2 = array_map('floatval', $stringNumbers);\n$time2 = microtime(true) - $start;\n\n\/\/ \u65b9\u6cd53: array_map \u3067\u7121\u540d\u95a2\u6570\n$start = microtime(true);\n$result3 = array_map(function($num) {\n    return (float)$num;\n}, $stringNumbers);\n$time3 = microtime(true) - $start;\n\necho \"foreach + (float): {$time1}\u79d2\\n\";\necho \"array_map + floatval: {$time2}\u79d2\\n\";\necho \"array_map + \u7121\u540d\u95a2\u6570: {$time3}\u79d2\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p>\u4e00\u822c\u7684\u306b\u3001<code>array_map<\/code>\u3068\u7d44\u307f\u8fbc\u307f\u95a2\u6570\uff08<code>floatval<\/code>\u306a\u3069\uff09\u306e\u7d44\u307f\u5408\u308f\u305b\u304c\u6700\u3082\u52b9\u7387\u7684\u3067\u3059\u304c\u3001PHP 8\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u3001JIT\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u6700\u9069\u5316\u306b\u3088\u308a\u3001\u30b7\u30f3\u30d7\u30eb\u306a<code>foreach<\/code>\u30eb\u30fc\u30d7\u3068\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u306e\u7d44\u307f\u5408\u308f\u305b\u3082\u975e\u5e38\u306b\u9ad8\u901f\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-96\">3. \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30af\u30a8\u30ea\u3067\u306e\u578b\u5909\u63db<\/h4>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u306b\u5bfe\u3059\u308b\u578b\u5909\u63db\u3082\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5927\u304d\u306a\u5f71\u97ff\u3092\u4e0e\u3048\u307e\u3059\u3002<\/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\/\/ \u975e\u52b9\u7387\u306a\u4f8b\uff1a\u3059\u3079\u3066\u306e\u884c\u3067\u30eb\u30fc\u30d7\u5185\u3067\u5909\u63db\nfunction getTotalRevenue_inefficient($pdo) {\n    $stmt = $pdo-&gt;query('SELECT amount FROM orders');\n    $total = 0;\n    while ($row = $stmt-&gt;fetch(PDO::FETCH_ASSOC)) {\n        $total += (float)$row['amount'];\n    }\n    return $total;\n}\n\n\/\/ \u3088\u308a\u52b9\u7387\u7684\uff1a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5074\u3067\u96c6\u8a08\nfunction getTotalRevenue_efficient($pdo) {\n    $stmt = $pdo-&gt;query('SELECT SUM(amount) AS total FROM orders');\n    $result = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n    return (float)$result['total']; \/\/ 1\u56de\u3060\u3051\u5909\u63db\n}\n\n\/\/ PDO\u306e\u30d5\u30a7\u30c3\u30c1\u30e2\u30fc\u30c9\u3092\u6700\u9069\u5316\nfunction getTotalRevenueByMonth_optimized($pdo, $year) {\n    \/\/ \u30d5\u30a7\u30c3\u30c1\u30e2\u30fc\u30c9\u3092\u8a2d\u5b9a\u3057\u3066PDO\u306b\u578b\u5909\u63db\u3092\u4efb\u305b\u308b\n    $stmt = $pdo-&gt;prepare('SELECT month, SUM(amount) AS total FROM orders WHERE YEAR(order_date) = ? GROUP BY month');\n    $stmt-&gt;execute([$year]);\n    $stmt-&gt;setFetchMode(PDO::FETCH_ASSOC);\n    \n    $results = [];\n    while ($row = $stmt-&gt;fetch()) {\n        $month = (int)$row['month']; \/\/ \u5fc5\u8981\u306a\u5834\u5408\u306e\u307f\u5909\u63db\n        $results[$month] = $row['total']; \/\/ PDO\u304c\u6587\u5b57\u5217\u3068\u3057\u3066\u8fd4\u3059\n    }\n    \n    return $results;\n}\n?&gt;\n<\/pre>\n\n\n\n<p>PDO\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001<code>PDO::ATTR_EMULATE_PREPARES<\/code>\u3092<code>false<\/code>\u306b\u8a2d\u5b9a\u3057\u3001<code>PDO::ATTR_STRINGIFY_FETCHES<\/code>\u3082<code>false<\/code>\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001DB\u30c9\u30e9\u30a4\u30d0\u304c\u6b63\u3057\u3044\u578b\u3067\u30c7\u30fc\u30bf\u3092\u8fd4\u3059\u3088\u3046\u306b\u306a\u308a\u3001PHP\u3067\u306e\u578b\u5909\u63db\u304c\u4e0d\u8981\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/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\/\/ PDO\u8a2d\u5b9a\u306e\u6700\u9069\u5316\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password', [\n    PDO::ATTR_EMULATE_PREPARES =&gt; false,\n    PDO::ATTR_STRINGIFY_FETCHES =&gt; false,\n    PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION\n]);\n\n\/\/ \u30af\u30a8\u30ea\u5b9f\u884c\n$stmt = $pdo-&gt;query('SELECT id, amount FROM orders LIMIT 5');\n$rows = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\n\/\/ \u7d50\u679c\u306e\u578b\u3092\u30c1\u30a7\u30c3\u30af\nforeach ($rows as $row) {\n    echo \"ID: \" . $row['id'] . \" (\u578b: \" . gettype($row['id']) . \")\\n\";\n    echo \"\u91d1\u984d: \" . $row['amount'] . \" (\u578b: \" . gettype($row['amount']) . \")\\n\";\n}\n\/\/ MySQL\/MariaDB\u306e\u5834\u5408\u3001id\u306f\u6574\u6570\u578b\u3001amount\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u578b\u3068\u3057\u3066\u53d6\u5f97\u3055\u308c\u308b\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-97\">4. \u9ad8\u5ea6\u306a\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af<\/h4>\n\n\n\n<p>\u5927\u898f\u6a21\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3088\u308a\u9ad8\u5ea6\u306a\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u3082\u691c\u8a0e\u3059\u308b\u4fa1\u5024\u304c\u3042\u308a\u307e\u3059\u3002<\/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\/\/ 1. \u578b\u5909\u63db\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\nfunction getCachedConversion($key, $value) {\n    static $cache = [];\n    \n    if (!isset($cache[$key])) {\n        \/\/ \u91cd\u3044\u5909\u63db\u51e6\u7406\n        $cache[$key] = complexConversion($value);\n    }\n    \n    return $cache[$key];\n}\n\n\/\/ 2. \u30d0\u30c3\u30d5\u30a1\u30ea\u30f3\u30b0\u3068\u4e00\u62ec\u51e6\u7406\nclass NumberConverter {\n    private $buffer = [];\n    private $bufferSize = 1000;\n    \n    public function add($value) {\n        $this-&gt;buffer[] = $value;\n        \n        if (count($this-&gt;buffer) &gt;= $this-&gt;bufferSize) {\n            $this-&gt;processBuffer();\n        }\n    }\n    \n    private function processBuffer() {\n        if (empty($this-&gt;buffer)) {\n            return;\n        }\n        \n        \/\/ \u6700\u9069\u5316\u3055\u308c\u305f\u30d0\u30c3\u30c1\u51e6\u7406\n        $result = array_map(function($val) {\n            return (float)$val;\n        }, $this-&gt;buffer);\n        \n        \/\/ \u7d50\u679c\u306e\u51e6\u7406\uff08\u4f8b: \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\uff09\n        $this-&gt;saveToDatabase($result);\n        \n        \/\/ \u30d0\u30c3\u30d5\u30a1\u3092\u30af\u30ea\u30a2\n        $this-&gt;buffer = [];\n    }\n    \n    public function finish() {\n        $this-&gt;processBuffer();\n    }\n    \n    private function saveToDatabase($data) {\n        \/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4fdd\u5b58\u51e6\u7406\uff08\u5b9f\u88c5\u7701\u7565\uff09\n    }\n}\n\n\/\/ 3. \u751f\u306eSQL\/Prepared Statements\u306e\u4f7f\u7528\u306b\u3088\u308b\u578b\u5909\u63db\u306e\u6700\u5c0f\u5316\nfunction importCsvToDatabase($filename, $pdo) {\n    \/\/ CSV\u304b\u3089\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u30c0\u30a4\u30ec\u30af\u30c8\u30a4\u30f3\u30dd\u30fc\u30c8\n    \/\/ \u578b\u5909\u63db\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5074\u306b\u4efb\u305b\u308b\n    $sql = \"LOAD DATA INFILE ? \n            INTO TABLE imported_data \n            FIELDS TERMINATED BY ',' \n            LINES TERMINATED BY '\\n'\n            (string_value, @numeric_value)\n            SET numeric_value = CAST(@numeric_value AS DECIMAL(10,2))\";\n    \n    $stmt = $pdo-&gt;prepare($sql);\n    $stmt-&gt;execute([$filename]);\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-98\">OPCache\u3068JIT\u306e\u5f71\u97ff<\/h3>\n\n\n\n<p>PHP 7\u4ee5\u964d\u306eOPCache\u62e1\u5f35\u6a5f\u80fd\u3068PHP 8.0\u3067\u5c0e\u5165\u3055\u308c\u305fJIT\uff08Just-In-Time\uff09\u30b3\u30f3\u30d1\u30a4\u30e9\u306f\u3001\u578b\u5909\u63db\u3092\u542b\u3080\u51e6\u7406\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5927\u304d\u306a\u5f71\u97ff\u3092\u4e0e\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-99\">OPCache\u306e\u52b9\u679c<\/h4>\n\n\n\n<p>OPCache\u306fPHP\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3001\u7d50\u679c\u3092\u30e1\u30e2\u30ea\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3059\u308b\u3053\u3068\u3067\u3001\u5b9f\u884c\u901f\u5ea6\u3092\u5411\u4e0a\u3055\u305b\u307e\u3059\u3002<\/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\/\/ OPCache\u304c\u6709\u52b9\u306a\u5834\u5408\u3068\u306a\u3044\u5834\u5408\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03\nfunction benchmarkWithOpCache($iterations = 1000000) {\n    $startTime = microtime(true);\n    \n    for ($i = 0; $i &lt; $iterations; $i++) {\n        $result = (int)\"1234.56\";\n    }\n    \n    $endTime = microtime(true);\n    $executionTime = ($endTime - $startTime) * 1000; \/\/ \u30df\u30ea\u79d2\u5358\u4f4d\n    \n    return $executionTime;\n}\n\n\/\/ OPCache\u72b6\u614b\u78ba\u8a8d\n$opcacheEnabled = function_exists('opcache_get_status') &amp;&amp; opcache_get_status(false);\necho \"OPCache\u6709\u52b9: \" . ($opcacheEnabled ? \"\u306f\u3044\" : \"\u3044\u3044\u3048\") . \"\\n\";\n\n$time = benchmarkWithOpCache();\necho \"\u5b9f\u884c\u6642\u9593: {$time}ms\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p>\u4e00\u822c\u7684\u306b\u3001OPCache\u304c\u6709\u52b9\u306a\u5834\u5408\u3001\u578b\u5909\u63db\u3092\u542b\u3080\u64cd\u4f5c\u306f\u7d041.5\u301c3\u500d\u9ad8\u901f\u5316\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-100\">JIT\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u52b9\u679c<\/h4>\n\n\n\n<p>PHP 8.0\u3067\u5c0e\u5165\u3055\u308c\u305fJIT\u30b3\u30f3\u30d1\u30a4\u30e9\u306f\u3001\u7e70\u308a\u8fd4\u3057\u5b9f\u884c\u3055\u308c\u308b\u51e6\u7406\u3092\u6a5f\u68b0\u8a9e\u306b\u76f4\u63a5\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u3053\u3068\u3067\u3001\u3055\u3089\u306a\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5411\u4e0a\u3092\u5b9f\u73fe\u3057\u307e\u3059\u3002<\/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\/\/ PHP 8.0+: JIT\u304c\u6709\u52b9\u304b\u3069\u3046\u304b\u306e\u78ba\u8a8d\nfunction checkJIT() {\n    if (PHP_VERSION_ID &gt;= 80000) {\n        $status = opcache_get_status();\n        if (isset($status['jit'])) {\n            return $status['jit']['enabled'] ? \"\u6709\u52b9\" : \"\u7121\u52b9\";\n        }\n    }\n    return \"\u672a\u5bfe\u5fdc\";\n}\n\necho \"PHP \u30d0\u30fc\u30b8\u30e7\u30f3: \" . PHP_VERSION . \"\\n\";\necho \"JIT\u72b6\u614b: \" . checkJIT() . \"\\n\";\n\n\/\/ JIT\u306e\u52b9\u679c\u3092\u898b\u308b\u30d9\u30f3\u30c1\u30de\u30fc\u30af\uff08\u30eb\u30fc\u30d7\u304c\u591a\u3044\u307b\u3069\u52b9\u679c\u304c\u51fa\u3084\u3059\u3044\uff09\nfunction benchmarkJIT($iterations = 10000000) {\n    $startTime = microtime(true);\n    \n    $sum = 0;\n    for ($i = 0; $i &lt; $iterations; $i++) {\n        $value = (string)$i;\n        $sum += (int)$value;\n    }\n    \n    $endTime = microtime(true);\n    $executionTime = ($endTime - $startTime) * 1000; \/\/ \u30df\u30ea\u79d2\u5358\u4f4d\n    \n    return $executionTime;\n}\n\n$time = benchmarkJIT();\necho \"JIT\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u5b9f\u884c\u6642\u9593: {$time}ms\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p>JIT\u304c\u6709\u52b9\u306a\u5834\u5408\u3001\u7e70\u308a\u8fd4\u3057\u5b9f\u884c\u3055\u308c\u308b\u578b\u5909\u63db\u64cd\u4f5c\u306f\u6700\u5927\u30675\u301c10\u500d\u9ad8\u901f\u5316\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u3059\u3079\u3066\u306e\u51e6\u7406\u304cJIT\u306e\u6069\u6075\u3092\u53d7\u3051\u308b\u308f\u3051\u3067\u306f\u306a\u304f\u3001\u7279\u306b\u7e70\u308a\u8fd4\u3057\u56de\u6570\u306e\u591a\u3044\u30eb\u30fc\u30d7\u5185\u306e\u51e6\u7406\u306b\u52b9\u679c\u304c\u9855\u8457\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-101\">\u5b9f\u8df5\u7684\u306a\u578b\u5909\u63db\u6700\u9069\u5316\u6226\u7565<\/h3>\n\n\n\n<p>\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u3092\u6700\u9069\u5316\u3059\u308b\u305f\u3081\u306e\u6226\u7565\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-102\">1. \u7528\u9014\u306b\u5fdc\u3058\u305f\u5909\u63db\u65b9\u6cd5\u306e\u9078\u629e<\/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\/\/ \u9ad8\u901f\u304b\u3064\u30b7\u30f3\u30d7\u30eb\u306a\u5909\u63db\u304c\u5fc5\u8981\u306a\u5834\u5408\nfunction fastConvert($value) {\n    return (float)$value;  \/\/ \u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\n}\n\n\/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u542b\u3080\u5909\u63db\u304c\u5fc5\u8981\u306a\u5834\u5408\nfunction validatedConvert($value) {\n    if (!is_numeric($value)) {\n        return 0.0;  \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n    }\n    return (float)$value;\n}\n\n\/\/ \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u5024\u306e\u5909\u63db\u304c\u5fc5\u8981\u306a\u5834\u5408\nfunction formattedConvert($value) {\n    \/\/ \u30ab\u30f3\u30de\u3084\u901a\u8ca8\u8a18\u53f7\u3092\u9664\u53bb\n    $cleaned = preg_replace('\/[^\\d.]\/', '', $value);\n    return (float)$cleaned;\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-103\">2. \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u306a\u90e8\u5206\u306e\u7279\u5b9a\u3068\u6700\u9069\u5316<\/h4>\n\n\n\n<p>\u5b9f\u969b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3059\u3079\u3066\u306e\u30b3\u30fc\u30c9\u304c\u540c\u7b49\u306b\u91cd\u8981\u306a\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u306a\u90e8\u5206\u3092\u7279\u5b9a\u3057\u3001\u305d\u3053\u306b\u6700\u9069\u5316\u306e\u52b4\u529b\u3092\u96c6\u4e2d\u3055\u305b\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/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\nclass DataProcessor {\n    \/\/ \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u306a\u30e1\u30bd\u30c3\u30c9\uff1a\u9ad8\u5ea6\u306b\u6700\u9069\u5316\n    public function processLargeDataset(array $data) {\n        \/\/ \u524d\u51e6\u7406\uff1a\u7121\u52b9\u306a\u30c7\u30fc\u30bf\u3092\u9664\u5916\n        $validData = [];\n        foreach ($data as $item) {\n            if (isset($item['value']) &amp;&amp; is_numeric($item['value'])) {\n                $validData[] = $item;\n            }\n        }\n        \n        \/\/ \u30d0\u30c3\u30c1\u51e6\u7406\n        $batchSize = 1000;\n        $results = [];\n        \n        for ($i = 0; $i &lt; count($validData); $i += $batchSize) {\n            $batch = array_slice($validData, $i, $batchSize);\n            \n            \/\/ \u5404\u30d0\u30c3\u30c1\u5185\u3067\u52b9\u7387\u7684\u306b\u578b\u5909\u63db\n            $converted = array_map(function($item) {\n                $item['value'] = (float)$item['value'];\n                return $item;\n            }, $batch);\n            \n            $results = array_merge($results, $this-&gt;processBatch($converted));\n        }\n        \n        return $results;\n    }\n    \n    \/\/ \u983b\u7e41\u306b\u547c\u3073\u51fa\u3055\u308c\u306a\u3044\u30e1\u30bd\u30c3\u30c9\uff1a\u8aad\u307f\u3084\u3059\u3055\u512a\u5148\n    public function processUserInput($input) {\n        \/\/ \u8aad\u307f\u3084\u3059\u3055\u3092\u512a\u5148\n        $id = filter_var($input['id'], FILTER_VALIDATE_INT);\n        $amount = filter_var($input['amount'], FILTER_VALIDATE_FLOAT);\n        \n        if ($id === false || $amount === false) {\n            throw new InvalidArgumentException(\"Invalid input\");\n        }\n        \n        return $this-&gt;saveUserData($id, $amount);\n    }\n    \n    private function processBatch(array $batch) {\n        \/\/ \u5b9f\u88c5\u7701\u7565\n        return $batch;\n    }\n    \n    private function saveUserData($id, $amount) {\n        \/\/ \u5b9f\u88c5\u7701\u7565\n        return true;\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-104\">3. \u578b\u5909\u63db\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u308b\u30c7\u30fc\u30bf\u30d5\u30ed\u30fc\u8a2d\u8a08<\/h4>\n\n\n\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5168\u4f53\u306e\u30c7\u30fc\u30bf\u30d5\u30ed\u30fc\u3092\u8a2d\u8a08\u3059\u308b\u969b\u306b\u3001\u4e0d\u8981\u306a\u578b\u5909\u63db\u3092\u6e1b\u3089\u3059\u3053\u3068\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/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\/\/ \u975e\u52b9\u7387\u306a\u30c7\u30fc\u30bf\u30d5\u30ed\u30fc\uff08\u4f55\u5ea6\u3082\u578b\u5909\u63db\u304c\u767a\u751f\uff09\nfunction inefficientDataFlow() {\n    \/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u6587\u5b57\u5217\u3068\u3057\u3066\u53d6\u5f97\n    $amountStr = getAmountFromDatabase();  \/\/ \u8fd4\u308a\u5024: string\n    \n    \/\/ \u8a08\u7b97\u306e\u305f\u3081\u306b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n    $amountFloat = (float)$amountStr;\n    $discountedAmount = $amountFloat * 0.9;\n    \n    \/\/ \u8868\u793a\u306e\u305f\u3081\u306b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\n    $formattedAmount = number_format($discountedAmount, 2);\n    \n    \/\/ \u4fdd\u5b58\u306e\u305f\u3081\u306b\u518d\u5ea6\u6570\u5024\u306b\u5909\u63db\n    $amountToSave = (float)$formattedAmount;\n    saveToDatabase($amountToSave);\n}\n\n\/\/ \u6700\u9069\u5316\u3055\u308c\u305f\u30c7\u30fc\u30bf\u30d5\u30ed\u30fc\uff08\u578b\u5909\u63db\u3092\u6700\u5c0f\u9650\u306b\uff09\nfunction optimizedDataFlow() {\n    \/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u76f4\u63a5\u6570\u5024\u3068\u3057\u3066\u53d6\u5f97\uff08PDO\u8a2d\u5b9a\u3092\u6700\u9069\u5316\uff09\n    $amount = getAmountFromDatabaseAsNumber();  \/\/ \u8fd4\u308a\u5024: float\n    \n    \/\/ \u8a08\u7b97\uff08\u578b\u5909\u63db\u306a\u3057\uff09\n    $discountedAmount = $amount * 0.9;\n    \n    \/\/ \u8868\u793a\u7528\u306b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3059\u308b\u304c\u3001\u4fdd\u5b58\u7528\u306f\u5143\u306e\u6570\u5024\u3092\u4f7f\u7528\n    $formattedAmount = number_format($discountedAmount, 2);\n    display($formattedAmount);\n    \n    \/\/ \u578b\u5909\u63db\u306a\u3057\u3067\u4fdd\u5b58\n    saveToDatabase($discountedAmount);\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-105\">\u307e\u3068\u3081\uff1a\u5b9f\u7528\u7684\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3<\/h3>\n\n\n\n<p>\u4ee5\u4e0a\u306e\u5185\u5bb9\u3092\u8e0f\u307e\u3048\u3001PHP\u3067\u306e\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u5909\u63db\u306b\u304a\u3051\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u3092\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u9ad8\u901f\u306a\u5909\u63db\u304c\u5fc5\u8981\u306a\u5834\u9762\u3067\u306f\u3001\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50 (int)\/(float) \u3092\u4f7f\u7528\u3059\u308b<\/strong><br>\u6700\u3082\u30b7\u30f3\u30d7\u30eb\u3067\u9ad8\u901f\u306a\u65b9\u6cd5\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3082\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001\u4e8b\u524d\u306b is_numeric() \u306a\u3069\u3067\u30c1\u30a7\u30c3\u30af\u3057\u3066\u304b\u3089\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\u3059\u308b<\/strong><br>filter_var() \u3088\u308a\u3082\u52b9\u7387\u7684\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong>\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3059\u308b\u5834\u5408\u306f\u3001\u30d0\u30c3\u30c1\u51e6\u7406\u3084\u30eb\u30fc\u30d7\u306e\u6700\u9069\u5316\u3092\u691c\u8a0e\u3059\u308b<\/strong><br>\u7279\u306b\u30eb\u30fc\u30d7\u5185\u3067\u306e\u4e0d\u8981\u306a\u64cd\u4f5c\u3092\u524a\u6e1b\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u64cd\u4f5c\u3067\u306f\u3001\u53ef\u80fd\u306a\u9650\u308a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5074\u3067\u578b\u5909\u63db\u3084\u96c6\u8a08\u3092\u884c\u3046<\/strong><br>PHP\u3067\u306e\u5909\u63db\u51e6\u7406\u3092\u6e1b\u3089\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>OPCache\u3068JIT\u306e\u6069\u6075\u3092\u5f97\u308b\u305f\u3081\u306b\u3001PHP\u8a2d\u5b9a\u3092\u6700\u9069\u5316\u3059\u308b<\/strong><br>\u672c\u756a\u74b0\u5883\u3067\u306f\u5fc5\u305aOPCache\u3092\u6709\u52b9\u306b\u3057\u3001PHP 8\u4ee5\u964d\u3067\u306fJIT\u3082\u691c\u8a0e\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u306a\u90e8\u5206\u3068\u305d\u3046\u3067\u306a\u3044\u90e8\u5206\u3092\u533a\u5225\u3059\u308b<\/strong><br>\u3059\u3079\u3066\u306e\u30b3\u30fc\u30c9\u3092\u540c\u3058\u3088\u3046\u306b\u6700\u9069\u5316\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/li>\n\n\n\n<li><strong>\u5e38\u306b\u6e2c\u5b9a\u3068\u691c\u8a3c\u3092\u884c\u3046<\/strong><br>\u7406\u8ad6\u7684\u306a\u6700\u9069\u5316\u3088\u308a\u3082\u3001\u5b9f\u969b\u306e\u74b0\u5883\u3067\u306e\u6e2c\u5b9a\u7d50\u679c\u306b\u57fa\u3065\u3044\u3066\u6700\u9069\u5316\u3092\u884c\u3044\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u6700\u5f8c\u306b\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306f\u5e38\u306b\u30c8\u30ec\u30fc\u30c9\u30aa\u30d5\u3092\u4f34\u3046\u3053\u3068\u3092\u5fd8\u308c\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u3068\u4fdd\u5b88\u6027\u3092\u72a0\u7272\u306b\u3057\u3066\u307e\u3067\u6975\u9650\u307e\u3067\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u8ffd\u6c42\u3059\u308b\u3053\u3068\u304c\u5e38\u306b\u6b63\u3057\u3044\u3068\u306f\u9650\u308a\u307e\u305b\u3093\u3002\u7279\u306b\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3068\u306a\u3063\u3066\u3044\u306a\u3044\u90e8\u5206\u3067\u306f\u3001\u30b3\u30fc\u30c9\u306e\u660e\u78ba\u3055\u3092\u512a\u5148\u3059\u308b\u3053\u3068\u3082\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u6587\u5b57\u5217\u306e\u6570\u5024\u5909\u63db\u306b\u3064\u3044\u3066\u3001\u3055\u3089\u306b\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-106\">\u5b9f\u8df5\u4f8b\uff1a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u6587\u5b57\u5217\u306e\u6570\u5024\u5909\u63db<\/h2>\n\n\n\n<p>PHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3068\u306e\u9023\u643a\u306f\u4e0d\u53ef\u6b20\u306a\u8981\u7d20\u3067\u3059\u3002\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u5024\u306f\u3001\u3057\u3070\u3057\u3070\u6587\u5b57\u5217\u578b\u3068\u3057\u3066\u6271\u308f\u308c\u3001\u6570\u5024\u6f14\u7b97\u3084\u6bd4\u8f03\u3092\u884c\u3046\u969b\u306b\u9069\u5207\u306a\u578b\u5909\u63db\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u672c\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u52b9\u7387\u7684\u304b\u3064\u5b89\u5168\u306b\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u30c6\u30af\u30cb\u30c3\u30af\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-107\">PDO\u306e\u30d5\u30a7\u30c3\u30c1\u30e2\u30fc\u30c9\u3068\u578b\u5909\u63db\u306e\u95a2\u4fc2<\/h3>\n\n\n\n<p>PHP Data Objects (PDO)\u306f\u3001\u7570\u306a\u308b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u9593\u3067\u4e00\u8cab\u3057\u305f\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u62e1\u5f35\u6a5f\u80fd\u3067\u3059\u3002PDO\u306e\u30d5\u30a7\u30c3\u30c1\u30e2\u30fc\u30c9\u3084\u5c5e\u6027\u8a2d\u5b9a\u306f\u3001\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u306e\u578b\u306b\u5927\u304d\u304f\u5f71\u97ff\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-108\">\u30d5\u30a7\u30c3\u30c1\u30e2\u30fc\u30c9\u306b\u3088\u308b\u9055\u3044<\/h4>\n\n\n\n<p>PDO\u3067\u306f\u3001\u30c7\u30fc\u30bf\u306e\u30d5\u30a7\u30c3\u30c1\u65b9\u6cd5\u3092\u69d8\u3005\u306a\u30e2\u30fc\u30c9\u3067\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\u4ee3\u8868\u7684\u306a\u3082\u306e\u306b\u306f\u4ee5\u4e0b\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\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');\n$pdo-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n\n\/\/ \u30af\u30a8\u30ea\u5b9f\u884c\n$stmt = $pdo-&gt;query('SELECT id, price FROM products LIMIT 3');\n\n\/\/ 1. \u9023\u60f3\u914d\u5217\u3068\u3057\u3066\u30d5\u30a7\u30c3\u30c1\n$rows = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\necho \"\u9023\u60f3\u914d\u5217: \\n\";\nforeach ($rows as $row) {\n    echo \"ID: {$row['id']} (\u578b: \" . gettype($row['id']) . \"), \";\n    echo \"\u4fa1\u683c: {$row['price']} (\u578b: \" . gettype($row['price']) . \")\\n\";\n}\n\n\/\/ 2. \u6dfb\u5b57\u914d\u5217\u3068\u3057\u3066\u30d5\u30a7\u30c3\u30c1\n$stmt = $pdo-&gt;query('SELECT id, price FROM products LIMIT 3');\n$rows = $stmt-&gt;fetchAll(PDO::FETCH_NUM);\necho \"\\n\u6dfb\u5b57\u914d\u5217: \\n\";\nforeach ($rows as $row) {\n    echo \"ID: {$row[0]} (\u578b: \" . gettype($row[0]) . \"), \";\n    echo \"\u4fa1\u683c: {$row[1]} (\u578b: \" . gettype($row[1]) . \")\\n\";\n}\n\n\/\/ 3. \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u3057\u3066\u30d5\u30a7\u30c3\u30c1\n$stmt = $pdo-&gt;query('SELECT id, price FROM products LIMIT 3');\n$rows = $stmt-&gt;fetchAll(PDO::FETCH_OBJ);\necho \"\\n\u30aa\u30d6\u30b8\u30a7\u30af\u30c8: \\n\";\nforeach ($rows as $row) {\n    echo \"ID: {$row-&gt;id} (\u578b: \" . gettype($row-&gt;id) . \"), \";\n    echo \"\u4fa1\u683c: {$row-&gt;price} (\u578b: \" . gettype($row-&gt;price) . \")\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p>\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3067\u306f\u3001\u4e0a\u8a18\u306e\u3069\u306e\u30d5\u30a7\u30c3\u30c1\u30e2\u30fc\u30c9\u3067\u3082\u3001MySQL\u306eint\u578b\u3084decimal\u578b\u306e\u30ab\u30e9\u30e0\u3082<strong>\u6587\u5b57\u5217<\/strong>\u3068\u3057\u3066PHP\u306b\u6e21\u3055\u308c\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002\u3053\u308c\u306fPDO\u306e<code>PDO::ATTR_STRINGIFY_FETCHES<\/code>\u3068<code>PDO::ATTR_EMULATE_PREPARES<\/code>\u306e\u8a2d\u5b9a\u306b\u4f9d\u5b58\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-109\">\u578b\u60c5\u5831\u3092\u4fdd\u6301\u3059\u308b\u8a2d\u5b9a<\/h4>\n\n\n\n<p>PDO\u306e\u8a2d\u5b9a\u3092\u8abf\u6574\u3059\u308b\u3053\u3068\u3067\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u5143\u306e\u578b\u60c5\u5831\u3092\u4fdd\u6301\u3057\u305f\u307e\u307e\u5024\u3092\u53d6\u5f97\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\/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\uff08\u578b\u60c5\u5831\u3092\u4fdd\u6301\u3059\u308b\u8a2d\u5b9a\uff09\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password', [\n    PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION,\n    PDO::ATTR_EMULATE_PREPARES =&gt; false,  \/\/ \u91cd\u8981: \u30d7\u30ea\u30da\u30a2\u30c9\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306e\u30a8\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n    PDO::ATTR_STRINGIFY_FETCHES =&gt; false  \/\/ \u91cd\u8981: \u6570\u5024\u3092\u6587\u5b57\u5217\u306b\u5909\u63db\u3057\u306a\u3044\n]);\n\n\/\/ \u30af\u30a8\u30ea\u5b9f\u884c\n$stmt = $pdo-&gt;query('SELECT id, price FROM products LIMIT 3');\n$rows = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\necho \"\u578b\u60c5\u5831\u4fdd\u6301\u8a2d\u5b9a: \\n\";\nforeach ($rows as $row) {\n    echo \"ID: {$row['id']} (\u578b: \" . gettype($row['id']) . \"), \";  \/\/ int\u578b\u3068\u3057\u3066\u53d6\u5f97\n    echo \"\u4fa1\u683c: {$row['price']} (\u578b: \" . gettype($row['price']) . \")\\n\";  \/\/ float\u307e\u305f\u306fstring\u578b\u3068\u3057\u3066\u53d6\u5f97\n}\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u8a2d\u5b9a\u306b\u3088\u308a\u3001\u591a\u304f\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30c9\u30e9\u30a4\u30d0\u3067\u5143\u306e\u578b\u60c5\u5831\u304c\u4fdd\u6301\u3055\u308c\u307e\u3059\u3002\u7279\u306bMySQL\/MariaDB\u3067\u306f\u3001<code>integer<\/code>\u3084<code>float<\/code>\u306e\u5024\u304cPHP\u3067\u3082\u5bfe\u5fdc\u3059\u308b\u578b\u3068\u3057\u3066\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-110\">\u30ab\u30e9\u30e0\u578b\u306b\u3088\u308b\u5909\u63db\u306e\u9055\u3044<\/h4>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30ab\u30e9\u30e0\u578b\u306b\u3088\u3063\u3066PHP\u3067\u306e\u578b\u5909\u63db\u306e\u6319\u52d5\u304c\u5909\u308f\u308b\u3053\u3068\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\/\/ \u5404\u30ab\u30e9\u30e0\u578b\u3067\u306e\u53d6\u5f97\u4f8b\n$stmt = $pdo-&gt;query('\n    SELECT \n        int_col,      -- INTEGER\u578b\n        decimal_col,  -- DECIMAL\u578b\n        float_col,    -- FLOAT\u578b\n        char_col,     -- CHAR\u578b\n        json_col      -- JSON\u578b\n    FROM type_test LIMIT 1\n');\n\n$row = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n\necho \"\u6574\u6570\u30ab\u30e9\u30e0: {$row['int_col']} (\u578b: \" . gettype($row['int_col']) . \")\\n\";\necho \"DECIMAL: {$row['decimal_col']} (\u578b: \" . gettype($row['decimal_col']) . \")\\n\";\necho \"FLOAT: {$row['float_col']} (\u578b: \" . gettype($row['float_col']) . \")\\n\";\necho \"CHAR: {$row['char_col']} (\u578b: \" . gettype($row['char_col']) . \")\\n\";\necho \"JSON: (\u578b: \" . gettype($row['json_col']) . \")\\n\";\n\n\/\/ \u7279\u5b9a\u306e\u30ab\u30e9\u30e0\u3060\u3051\u660e\u793a\u7684\u306b\u5909\u63db\n$intValue = (int)$row['int_col'];\n$floatValue = (float)$row['decimal_col'];\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-111\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u6570\u5024\u578b\u3068\u6587\u5b57\u5217\u578b\u306e\u76f8\u4e92\u5909\u63db\u3067\u6c17\u3092\u3064\u3051\u308b\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3068PHP\u9593\u3067\u306e\u578b\u5909\u63db\u306b\u306f\u3001\u3044\u304f\u3064\u304b\u306e\u6ce8\u610f\u70b9\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-112\">1. \u7cbe\u5ea6\u306e\u554f\u984c<\/h4>\n\n\n\n<p>DECIMAL\u578b\u3084FLOAT\u578b\u306e\u30c7\u30fc\u30bf\u3092\u6271\u3046\u969b\u306b\u3001\u7cbe\u5ea6\u304c\u5931\u308f\u308c\u308b\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\/\/ \u7cbe\u5ea6\u304c\u91cd\u8981\u306a\u5024\u306e\u53d6\u5f97\u3068\u5909\u63db\n$stmt = $pdo-&gt;prepare('SELECT amount FROM financial_transactions WHERE id = ?');\n$stmt-&gt;execute([1234]);\n$row = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n\n\/\/ \u554f\u984c\u306e\u3042\u308b\u5909\u63db\u65b9\u6cd5\uff08\u7cbe\u5ea6\u304c\u5931\u308f\u308c\u308b\u53ef\u80fd\u6027\uff09\n$amount = (float)$row['amount'];\n\n\/\/ \u3088\u308a\u5b89\u5168\u306a\u65b9\u6cd5\uff08BCMath\u3092\u4f7f\u7528\uff09\n$amount = $row['amount']; \/\/ \u6587\u5b57\u5217\u306e\u307e\u307e\u4fdd\u6301\n$result = bcmul($amount, '1.05', 2); \/\/ 5%\u5897\u52a0\uff08\u5c0f\u6570\u70b9\u4ee5\u4e0b2\u6841\u3067\u8a08\u7b97\uff09\n\necho \"\u5143\u306e\u91d1\u984d: {$row['amount']}\\n\";\necho \"5%\u5897\u52a0\u5f8c: {$result}\\n\";\n?&gt;\n<\/pre>\n\n\n\n<p>\u91d1\u878d\u8a08\u7b97\u306a\u3069\u7cbe\u5ea6\u304c\u91cd\u8981\u306a\u5834\u5408\u306f\u3001<code>float<\/code>\u306b\u5909\u63db\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001BCMath\u3084GMP\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u6587\u5b57\u5217\u306e\u307e\u307e\u8a08\u7b97\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-113\">2. NULL\u5024\u306e\u51e6\u7406<\/h4>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306eNULL\u5024\u3092\u9069\u5207\u306b\u51e6\u7406\u3059\u308b\u3053\u3068\u3082\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\n\/\/ NULL\u5024\u3092\u542b\u3080\u30c7\u30fc\u30bf\u306e\u53d6\u5f97\n$stmt = $pdo-&gt;query('SELECT id, optional_value FROM items');\n$rows = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\nforeach ($rows as $row) {\n    \/\/ NULL\u5024\u306e\u78ba\u8a8d\u3068\u5909\u63db\n    if ($row['optional_value'] === null) {\n        \/\/ NULL\u5024\u306e\u5834\u5408\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n        $value = 0;\n    } else {\n        \/\/ NULL\u4ee5\u5916\u306e\u5834\u5408\u306f\u578b\u5909\u63db\n        $value = (float)$row['optional_value'];\n    }\n    \n    echo \"ID: {$row['id']}, \u5024: {$value}\\n\";\n}\n\n\/\/ \u3088\u308a\u7c21\u6f54\u306a\u66f8\u304d\u65b9\uff08Null\u5408\u4f53\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\uff09\n$value = (float)($row['optional_value'] ?? 0);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-114\">3. \u6587\u5b57\u5217\u5024\u306e\u6570\u5024\u6bd4\u8f03<\/h4>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u6587\u5b57\u5217\u578b\u306e\u6570\u5024\u3092\u6bd4\u8f03\u3059\u308b\u969b\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\/\/ \u6587\u5b57\u5217\u578b\u306e\u6570\u5024\u6bd4\u8f03\n$stmt = $pdo-&gt;query(\"SELECT id, price FROM products WHERE category = 'electronics'\");\n$products = $stmt-&gt;fetchAll(PDO::FETCH_ASSOC);\n\n\/\/ \u65b9\u6cd51: \u6587\u5b57\u5217\u6bd4\u8f03\uff08\u554f\u984c\u304c\u3042\u308b\u5834\u5408\u3042\u308a\uff09\n$expensiveProducts = array_filter($products, function($product) {\n    return $product['price'] &gt; '1000';  \/\/ \u6587\u5b57\u5217\u6bd4\u8f03\n});\n\n\/\/ \u65b9\u6cd52: \u660e\u793a\u7684\u306a\u578b\u5909\u63db\uff08\u63a8\u5968\uff09\n$expensiveProducts = array_filter($products, function($product) {\n    return (float)$product['price'] &gt; 1000.0;  \/\/ \u6570\u5024\u6bd4\u8f03\n});\n\n\/\/ \u3088\u308a\u52b9\u7387\u7684\u306a\u65b9\u6cd5\uff1a\u3042\u3089\u304b\u3058\u3081\u5909\u63db\n$products = array_map(function($product) {\n    $product['price'] = (float)$product['price'];\n    return $product;\n}, $products);\n\n\/\/ \u305d\u306e\u5f8c\u306e\u51e6\u7406\u3067\u306f\u578b\u5909\u63db\u4e0d\u8981\n$expensiveProducts = array_filter($products, function($product) {\n    return $product['price'] &gt; 1000.0;\n});\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-115\">4. \u578b\u60c5\u5831\u306e\u660e\u793a<\/h4>\n\n\n\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5185\u3067\u578b\u60c5\u5831\u3092\u660e\u793a\u3059\u308b\u3053\u3068\u3067\u3001\u30d0\u30b0\u3092\u9632\u6b62\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\/\/ PHP 7.4\u4ee5\u964d: \u30af\u30e9\u30b9\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u578b\u5ba3\u8a00\nclass Product {\n    public int $id;\n    public string $name;\n    public float $price;\n    \n    public static function fromDatabaseRow(array $row): self {\n        $product = new self();\n        $product-&gt;id = (int)$row['id'];\n        $product-&gt;name = $row['name'];\n        $product-&gt;price = (float)$row['price'];\n        return $product;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$stmt = $pdo-&gt;query('SELECT id, name, price FROM products LIMIT 10');\n$products = [];\n\nwhile ($row = $stmt-&gt;fetch(PDO::FETCH_ASSOC)) {\n    $products[] = Product::fromDatabaseRow($row);\n}\n\n\/\/ \u578b\u60c5\u5831\u304c\u660e\u78ba\u306b\u306a\u308a\u3001\u51e6\u7406\u304c\u5b89\u5168\u306b\u306a\u308b\nforeach ($products as $product) {\n    $discountedPrice = $product-&gt;price * 0.9;  \/\/ \u578b\u5909\u63db\u4e0d\u8981\n    echo \"{$product-&gt;name}: {$discountedPrice}\u5186\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-116\">\u30d7\u30ea\u30da\u30a2\u30c9\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306b\u3088\u308b\u578b\u6307\u5b9a<\/h3>\n\n\n\n<p>PDO\u306e\u30d7\u30ea\u30da\u30a2\u30c9\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3067\u306f\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u30d0\u30a4\u30f3\u30c9\u3059\u308b\u969b\u306b\u578b\u3092\u6307\u5b9a\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\/\/ \u578b\u6307\u5b9a\u3057\u305f\u30d7\u30ea\u30da\u30a2\u30c9\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\n$stmt = $pdo-&gt;prepare('SELECT * FROM products WHERE id = ? AND price &gt; ?');\n\n\/\/ \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u578b\u3092\u6307\u5b9a\u3057\u3066\u30d0\u30a4\u30f3\u30c9\n$productId = \"42\";  \/\/ \u6587\u5b57\u5217\u3068\u3057\u3066\u6e21\u3059\n$minPrice = \"99.5\";  \/\/ \u6587\u5b57\u5217\u3068\u3057\u3066\u6e21\u3059\n\n$stmt-&gt;bindValue(1, $productId, PDO::PARAM_INT);  \/\/ \u6574\u6570\u3068\u3057\u3066\u6271\u3046\n$stmt-&gt;bindValue(2, $minPrice, PDO::PARAM_STR);   \/\/ \u6587\u5b57\u5217\u3068\u3057\u3066\u6271\u3046\n\n$stmt-&gt;execute();\n$product = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n\n\/\/ \u3082\u3057\u304f\u306f\u540d\u524d\u4ed8\u304d\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u4f7f\u7528\n$stmt = $pdo-&gt;prepare('SELECT * FROM products WHERE id = :id AND price &gt; :price');\n$stmt-&gt;bindValue(':id', $productId, PDO::PARAM_INT);\n$stmt-&gt;bindValue(':price', $minPrice, PDO::PARAM_STR);\n$stmt-&gt;execute();\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u65b9\u6cd5\u3067\u306f\u3001\u5b9f\u884c\u524d\u306bPHP\u304c\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u9001\u4fe1\u3059\u308b\u5024\u306e\u578b\u3092\u660e\u793a\u7684\u306b\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u8fd4\u3063\u3066\u304f\u308b\u5024\u306e\u578b\u306b\u306f\u5f71\u97ff\u3057\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-117\">\u5404\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b7\u30b9\u30c6\u30e0\u3054\u3068\u306e\u7279\u5fb4\u3068\u5909\u63db\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<p>\u4e3b\u8981\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b7\u30b9\u30c6\u30e0\u306b\u306f\u3001\u578b\u5909\u63db\u306b\u95a2\u3057\u3066\u56fa\u6709\u306e\u7279\u5fb4\u3084\u6ce8\u610f\u70b9\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-118\">MySQL\/MariaDB<\/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\/\/ MySQL\/MariaDB\u306e\u7279\u5fb4\u3068\u9069\u5207\u306a\u5909\u63db\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password', [\n    PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION,\n    PDO::ATTR_EMULATE_PREPARES =&gt; false,\n    PDO::ATTR_STRINGIFY_FETCHES =&gt; false\n]);\n\n\/\/ \u6ce8\u610f\u70b91: DECIMAL\u578b\u306f\u6587\u5b57\u5217\u3068\u3057\u3066\u8fd4\u3055\u308c\u308b\u3053\u3068\u304c\u591a\u3044\n$stmt = $pdo-&gt;query('SELECT price FROM products WHERE id = 1');\n$price = $stmt-&gt;fetchColumn();\necho \"\u4fa1\u683c\u306e\u578b: \" . gettype($price) . \"\\n\";\n\n\/\/ MySQL\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u578b\u304b\u3089PHP\u306efloat\u578b\u3078\u306e\u5909\u63db\u306f\u901a\u5e38\u5b89\u5168\n$float_price = (float)$price;\n\n\/\/ \u6ce8\u610f\u70b92: UNSIGNED INT\u578b\u306f\u7bc4\u56f2\u306b\u6ce8\u610f\n$stmt = $pdo-&gt;query('SELECT large_unsigned_int FROM big_numbers WHERE id = 1');\n$bigInt = $stmt-&gt;fetchColumn();\n\n\/\/ 32\u30d3\u30c3\u30c8PHP\u3067\u306f\u7bc4\u56f2\u3092\u8d85\u3048\u308b\u5024\u3067\u554f\u984c\u304c\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\n\/\/ \u5927\u304d\u306a\u6570\u5024\u306f\u6587\u5b57\u5217\u3068\u3057\u3066\u51e6\u7406\u3059\u308b\u304b\u3001BCMath\u3092\u4f7f\u7528\nif (PHP_INT_SIZE === 4 &amp;&amp; $bigInt &gt; PHP_INT_MAX) {\n    echo \"32\u30d3\u30c3\u30c8PHP\u306e\u7bc4\u56f2\u3092\u8d85\u3048\u308b\u5024: {$bigInt}\\n\";\n    $result = bcmul($bigInt, '2', 0); \/\/ BCMath\u3067\u8a08\u7b97\n} else {\n    $result = (int)$bigInt * 2;\n}\n\n\/\/ \u6ce8\u610f\u70b93: JSON\u578b\uff08MySQL 5.7.8\u4ee5\u964d\uff09\n$stmt = $pdo-&gt;query(\"SELECT json_data FROM json_test WHERE id = 1\");\n$jsonData = $stmt-&gt;fetchColumn();\n\/\/ JSON\u578b\u306f\u6587\u5b57\u5217\u3068\u3057\u3066\u8fd4\u3055\u308c\u308b\n$data = json_decode($jsonData, true);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-119\">PostgreSQL<\/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\/\/ PostgreSQL\u306e\u7279\u5fb4\u3068\u9069\u5207\u306a\u5909\u63db\n$pdo = new PDO('pgsql:host=localhost;dbname=test', 'username', 'password', [\n    PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION,\n    PDO::ATTR_EMULATE_PREPARES =&gt; false\n]);\n\n\/\/ \u6ce8\u610f\u70b91: PostgreSQL\u306e\u6570\u5024\u578b\u306f\u57fa\u672c\u7684\u306b\u578b\u60c5\u5831\u304c\u4fdd\u6301\u3055\u308c\u308b\n$stmt = $pdo-&gt;query('SELECT int_col, numeric_col, float_col FROM pg_types');\n$row = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\necho \"\u6574\u6570\u578b: \" . gettype($row['int_col']) . \"\\n\";      \/\/ int\necho \"NUMERIC\u578b: \" . gettype($row['numeric_col']) . \"\\n\"; \/\/ string\necho \"FLOAT\u578b: \" . gettype($row['float_col']) . \"\\n\";    \/\/ float\n\n\/\/ \u6ce8\u610f\u70b92: PostgreSQL\u306e\u7279\u6b8a\u578b\n$stmt = $pdo-&gt;query('SELECT uuid_col, json_col, array_col FROM pg_types');\n$row = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n\n\/\/ UUID\u306f\u6587\u5b57\u5217\u3068\u3057\u3066\u6271\u3046\n$uuid = $row['uuid_col']; \/\/ \u5909\u63db\u4e0d\u8981\n\n\/\/ JSON\u306fjson_decode()\u304c\u5fc5\u8981\n$jsonData = json_decode($row['json_col'], true);\n\n\/\/ \u914d\u5217\u306fPHP\u3067\u30d1\u30fc\u30b9\u304c\u5fc5\u8981\n$arrayStr = trim($row['array_col'], '{}');\n$arrayItems = explode(',', $arrayStr);\n$phpArray = array_map('trim', $arrayItems);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-120\">SQLite<\/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\/\/ SQLite\u306e\u7279\u5fb4\u3068\u9069\u5207\u306a\u5909\u63db\n$pdo = new PDO('sqlite:test.db', null, null, [\n    PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION\n]);\n\n\/\/ \u6ce8\u610f\u70b91: SQLite\u306f\u52d5\u7684\u578b\u4ed8\u3051\u306a\u306e\u3067\u3001\u578b\u306e\u6271\u3044\u304c\u7570\u306a\u308b\n$stmt = $pdo-&gt;query('SELECT int_val, text_val, real_val FROM sqlite_types');\n$row = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n\n\/\/ SQLite\u3067\u306f\u6587\u8108\u306b\u3088\u3063\u3066\u578b\u89e3\u91c8\u304c\u5909\u308f\u308b\necho \"INT\u5024: \" . gettype($row['int_val']) . \"\\n\";    \/\/ sqlite\u7248\u306b\u3088\u308b\necho \"TEXT\u5024: \" . gettype($row['text_val']) . \"\\n\";   \/\/ string\necho \"REAL\u5024: \" . gettype($row['real_val']) . \"\\n\";   \/\/ sqlite\u7248\u306b\u3088\u308b\n\n\/\/ \u578b\u3092\u78ba\u5b9f\u306b\u3059\u308b\u305f\u3081\u306b\u660e\u793a\u7684\u5909\u63db\n$intVal = (int)$row['int_val'];\n$floatVal = (float)$row['real_val'];\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-121\">PHP 7.x\u30688.x\u3067\u306e\u6319\u52d5\u306e\u9055\u3044<\/h3>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u9023\u643a\u306b\u304a\u3051\u308b\u578b\u5909\u63db\u306fPHP\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u3082\u6319\u52d5\u304c\u7570\u306a\u308b\u5834\u5408\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\/\/ PHP 7.x\u30688.x\u306e\u9055\u3044\nfunction comparePHPVersions() {\n    echo \"PHP \u30d0\u30fc\u30b8\u30e7\u30f3: \" . PHP_VERSION . \"\\n\";\n    \n    \/\/ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\n    $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password', [\n        PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION,\n        PDO::ATTR_EMULATE_PREPARES =&gt; false,\n        PDO::ATTR_STRINGIFY_FETCHES =&gt; false\n    ]);\n    \n    \/\/ \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u53d6\u5f97\n    $stmt = $pdo-&gt;query('SELECT id, numeric_string, json_data FROM version_test LIMIT 1');\n    $row = $stmt-&gt;fetch(PDO::FETCH_ASSOC);\n    \n    \/\/ 1. \u6570\u5024\u6587\u5b57\u5217\u306e\u6271\u3044\n    $numStr = $row['numeric_string'];  \/\/ \"123abc\" \u306e\u3088\u3046\u306a\u5024\n    \n    \/\/ PHP 7.x\u3067\u306f\u8b66\u544a\u306a\u304f\u5909\u63db\u3001PHP 8.x\u3067\u306f\u8b66\u544a\u304c\u767a\u751f\n    $num = (int)$numStr;\n    echo \"\u6570\u5024\u6587\u5b57\u5217 '{$numStr}' \u2192 {$num}\\n\";\n    \n    \/\/ 2. JSON\u51e6\u7406\u306e\u9055\u3044\n    $jsonData = $row['json_data'];\n    \n    \/\/ PHP 7.x\u3067\u306fJSON_THROW_ON_ERROR\u30d5\u30e9\u30b0\u304c\u306a\u3044\u5834\u5408\u3001\u30a8\u30e9\u30fc\u6642\u306bnull\u3068\u8b66\u544a\n    \/\/ PHP 8.x\u3067\u306fJSON_THROW_ON_ERROR\u304c\u306a\u304f\u3066\u3082\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3059\u308b\u53ef\u80fd\u6027\u304c\u9ad8\u3044\n    try {\n        $decoded = json_decode($jsonData, true, 512, JSON_THROW_ON_ERROR);\n        echo \"JSON\u89e3\u6790\u6210\u529f\\n\";\n    } catch (JsonException $e) {\n        echo \"JSON\u89e3\u6790\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage() . \"\\n\";\n    }\n    \n    \/\/ 3. \u6587\u5b57\u5217\u30aa\u30d5\u30bb\u30c3\u30c8\u30a2\u30af\u30bb\u30b9\u306e\u9055\u3044\n    $str = $row['numeric_string'];\n    \n    \/\/ PHP 7.x\u3067\u306f\u8b66\u544a\u304c\u767a\u751f\u3059\u308b\u3060\u3051\n    \/\/ PHP 8.x\u3067\u306fTypeError\u304c\u30b9\u30ed\u30fc\u3055\u308c\u308b\n    try {\n        $char = $str[999]; \/\/ \u5b58\u5728\u3057\u306a\u3044\u30aa\u30d5\u30bb\u30c3\u30c8\n        echo \"\u6587\u5b57: {$char}\\n\";\n    } catch (Error $e) {\n        echo \"\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage() . \"\\n\";\n    }\n    \n    \/\/ 4. \u6574\u6570\u578b\u306e\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u6319\u52d5\n    $bigInt = PHP_INT_MAX;\n    \n    \/\/ PHP 7.x\u3067\u306f\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3059\u308b\u3068float\u306b\u5909\u63db\n    \/\/ PHP 8.x\u3082\u540c\u69d8\u3060\u304c\u3001\u8b66\u544a\u30ec\u30d9\u30eb\u304c\u5909\u5316\u3059\u308b\u5834\u5408\u304c\u3042\u308b\n    $result = $bigInt + 1;\n    echo \"PHP_INT_MAX + 1: \" . gettype($result) . \" \" . $result . \"\\n\";\n    \n    \/\/ 5. PDO\u306e\u30d5\u30a7\u30c3\u30c1\u52d5\u4f5c\n    \/\/ PHP 8.x\u3067\u306f\u3088\u308a\u4e00\u8cab\u3057\u305f\u578b\u5909\u63db\u3068\u53b3\u683c\u306a\u30a8\u30e9\u30fc\u30c1\u30a7\u30c3\u30af\u304c\u884c\u308f\u308c\u308b\n}\n\n\/\/ PHP 8.x\u5411\u3051\u306e\u5b89\u5168\u306a\u30b3\u30fc\u30c9\u3078\u306e\u79fb\u884c\u4f8b\nfunction safeConversion($value) {\n    \/\/ PHP 8.x\u5bfe\u5fdc\u306e\u5b89\u5168\u306a\u5909\u63db\n    if (!is_numeric($value)) {\n        \/\/ \u30ed\u30b0\u8a18\u9332\u306a\u3069\u306e\u51e6\u7406\n        return 0; \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n    }\n    \n    return (float)$value;\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-122\">\u5b9f\u88c5\u306b\u5f79\u7acb\u3064\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h3>\n\n\n\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u5f97\u3057\u305f\u5024\u306e\u578b\u5909\u63db\u306b\u95a2\u3059\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u307e\u3068\u3081\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>PDO\u306e\u8a2d\u5b9a\u3092\u6700\u9069\u5316\u3059\u308b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li><code>PDO::ATTR_EMULATE_PREPARES =&gt; false<\/code><\/li>\n\n\n\n<li><code>PDO::ATTR_STRINGIFY_FETCHES =&gt; false<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u578b\u5b89\u5168\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u304f<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u660e\u793a\u7684\u306b\u578b\u3092\u5909\u63db\u3059\u308b<\/li>\n\n\n\n<li>PHP 7.4\u4ee5\u964d\u3067\u306f\u578b\u5ba3\u8a00\u3092\u6d3b\u7528\u3059\u308b<\/li>\n\n\n\n<li>\u6570\u5024\u6bd4\u8f03\u3092\u884c\u3046\u524d\u306b\u578b\u5909\u63db\u3092\u6e08\u307e\u305b\u308b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9ad8\u7cbe\u5ea6\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u7279\u5225\u306a\u914d\u616e\u3092<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u91d1\u878d\u8a08\u7b97\u3067\u306fBCMath\u3084GMP\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li>DECIMAL\u30ab\u30e9\u30e0\u306e\u5024\u306f\u6587\u5b57\u5217\u3068\u3057\u3066\u6271\u3046\u3053\u3068\u3092\u691c\u8a0e\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u5e38\u306b\u610f\u8b58\u3059\u308b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u30d7\u30ea\u30da\u30a2\u30c9\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u4f7f\u7528\u3059\u308b<\/li>\n\n\n\n<li>\u9069\u5207\u306a\u578b\u6307\u5b9a\u3067\u30d0\u30a4\u30f3\u30c9\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30d0\u30fc\u30b8\u30e7\u30f3\u4e92\u63db\u6027\u3092\u78ba\u4fdd\u3059\u308b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>PHP 7.x\u30688.x\u306e\u9055\u3044\u3092\u7406\u89e3\u3057\u3001\u4e21\u65b9\u3067\u52d5\u4f5c\u3059\u308b\u30b3\u30fc\u30c9\u3092\u66f8\u304f<\/li>\n\n\n\n<li>\u578b\u30a8\u30e9\u30fc\u3092\u9069\u5207\u306b\u51e6\u7406\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u52b9\u7387\u7684\u306a\u51e6\u7406\u3092\u5fc3\u304c\u3051\u308b<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5927\u91cf\u30c7\u30fc\u30bf\u51e6\u7406\u3067\u306f\u4e00\u62ec\u5909\u63db\u3092\u884c\u3046<\/li>\n\n\n\n<li>\u30eb\u30fc\u30d7\u5185\u3067\u306e\u4e0d\u8981\u306a\u5909\u63db\u3092\u907f\u3051\u308b<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u5b9f\u8df5\u3059\u308b\u3053\u3068\u3067\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3068\u306e\u9023\u643a\u306b\u304a\u3051\u308b\u578b\u5909\u63db\u306b\u95a2\u3059\u308b\u554f\u984c\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u3001\u3088\u308a\u5805\u7262\u306aPHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5909\u63db\u30a8\u30e9\u30fc\u306e\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3068\u30c7\u30d0\u30c3\u30b0\u306e\u6280\u8853\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-123\">\u5909\u63db\u30a8\u30e9\u30fc\u306e\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3068\u30c7\u30d0\u30c3\u30b0<\/h2>\n\n\n\n<p>PHP\u3067\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u9593\u3067\u578b\u5909\u63db\u3092\u884c\u3046\u969b\u306b\u3001\u69d8\u3005\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u9069\u5207\u306a\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3068\u30c7\u30d0\u30c3\u30b0\u6280\u8853\u3092\u7528\u3044\u308b\u3053\u3068\u3067\u3001\u3053\u308c\u3089\u306e\u554f\u984c\u3092\u65e9\u671f\u306b\u767a\u898b\u3057\u3001\u5bfe\u51e6\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5909\u63db\u30a8\u30e9\u30fc\u306e\u52b9\u679c\u7684\u306a\u51e6\u7406\u65b9\u6cd5\u3068\u3001\u554f\u984c\u3092\u7279\u5b9a\u3059\u308b\u305f\u3081\u306e\u30c7\u30d0\u30c3\u30b0\u30c6\u30af\u30cb\u30c3\u30af\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-124\">\u578b\u5909\u63db\u5931\u6557\u6642\u306e\u9069\u5207\u306a\u30a8\u30e9\u30fc\u51e6\u7406<\/h3>\n\n\n\n<p>\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u304c\u5931\u6557\u3057\u305f\u5834\u5408\u3001PHP\u3067\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u52d5\u4f5c\u3092\u793a\u3057\u307e\u3059\u3002\u9069\u5207\u306a\u30a8\u30e9\u30fc\u51e6\u7406\u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5805\u7262\u6027\u3092\u9ad8\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-125\">\u4e00\u822c\u7684\u306a\u30a8\u30e9\u30fc\u30d1\u30bf\u30fc\u30f3\u3068\u5bfe\u7b56<\/h4>\n\n\n\n<p>\u307e\u305a\u3001\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u3067\u767a\u751f\u3057\u3084\u3059\u3044\u30a8\u30e9\u30fc\u30d1\u30bf\u30fc\u30f3\u3068\u305d\u306e\u5bfe\u7b56\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/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\/\/ 1. \u6570\u5024\u3068\u3057\u3066\u89e3\u91c8\u3067\u304d\u306a\u3044\u6587\u5b57\u5217\n$invalid = \"abc\";\n$num = (int)$invalid;  \/\/ PHP 7.x: \u8b66\u544a\u306a\u3057\u3001$num = 0\n                      \/\/ PHP 8.x: Warning\u3001$num = 0\n\n\/\/ \u5bfe\u7b561: \u4e8b\u524d\u306b\u691c\u8a3c\u3059\u308b\nif (is_numeric($invalid)) {\n    $num = (int)$invalid;\n} else {\n    \/\/ \u30a8\u30e9\u30fc\u51e6\u7406\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u306a\u3069\uff09\n    $num = 0;\n    error_log(\"\u6570\u5024\u5909\u63db\u30a8\u30e9\u30fc: '{$invalid}'\u306f\u6570\u5024\u3068\u3057\u3066\u89e3\u91c8\u3067\u304d\u307e\u305b\u3093\");\n}\n\n\/\/ \u5bfe\u7b562: filter_var\u95a2\u6570\u3092\u4f7f\u7528\u3059\u308b\n$num = filter_var($invalid, FILTER_VALIDATE_INT, [\n    'options' =&gt; ['default' =&gt; 0]\n]);\n\n\/\/ 2. \u7bc4\u56f2\u5916\u306e\u6574\u6570\u5024\n$huge = \"9999999999999999999\";\n$int = (int)$huge;  \/\/ 32\u30d3\u30c3\u30c8PHP\u3067\u306f\u7bc4\u56f2\u3092\u8d85\u3048\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\n\n\/\/ \u5bfe\u7b56: \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\nif (is_numeric($huge) &amp;&amp; $huge &gt; PHP_INT_MAX) {\n    \/\/ \u5927\u304d\u3059\u304e\u308b\u6570\u5024\u306e\u5834\u5408\u306e\u51e6\u7406\n    $int = PHP_INT_MAX;\n    error_log(\"\u6574\u6570\u7bc4\u56f2\u5916\u306e\u5024: {$huge}\");\n} else {\n    $int = (int)$huge;\n}\n\n\/\/ 3. \u5c0f\u6570\u70b9\u4ee5\u4e0b\u306e\u5207\u308a\u6368\u3066\n$float = \"123.456\";\n$int = (int)$float;  \/\/ $int = 123\uff08\u5c0f\u6570\u70b9\u4ee5\u4e0b\u306f\u5207\u308a\u6368\u3066\uff09\n\n\/\/ \u5bfe\u7b56: \u660e\u793a\u7684\u306b\u4e38\u3081\u308b\u304b\u30c1\u30a7\u30c3\u30af\u3059\u308b\nif (is_numeric($float) &amp;&amp; (float)$float != (int)$float) {\n    \/\/ \u5c0f\u6570\u70b9\u4ee5\u4e0b\u304c\u5207\u308a\u6368\u3066\u3089\u308c\u308b\u3053\u3068\u3092\u8b66\u544a\u307e\u305f\u306f\u30ed\u30b0\u306b\u8a18\u9332\n    error_log(\"\u5c0f\u6570\u70b9\u4ee5\u4e0b\u5207\u308a\u6368\u3066: {$float} -&gt; {$int}\");\n}\n\n\/\/ 4. NULL\u5024\u3084\u7a7a\u6587\u5b57\u5217\n$empty = \"\";\n$null = null;\n$numFromEmpty = (int)$empty;  \/\/ $numFromEmpty = 0\n$numFromNull = (int)$null;    \/\/ $numFromNull = 0\n\n\/\/ \u5bfe\u7b56: NULL\/\u7a7a\u6587\u5b57\u306e\u30c1\u30a7\u30c3\u30af\nif ($empty === \"\" || $null === null) {\n    \/\/ \u660e\u793a\u7684\u306b\u51e6\u7406\n    $defaultValue = 0;\n    error_log(\"\u7a7a\u306e\u5165\u529b\u3092\u691c\u51fa: \u30c7\u30d5\u30a9\u30eb\u30c8\u5024 {$defaultValue} \u3092\u4f7f\u7528\");\n}\n\n\/\/ 5. \u7279\u6b8a\u306a\u5f62\u5f0f\u306e\u6587\u5b57\u5217\n$formatted = \"1,234.56\";\n$num = (float)$formatted;  \/\/ $num = 1\uff08\u30ab\u30f3\u30de\u4ee5\u964d\u306f\u7121\u8996\u3055\u308c\u308b\uff09\n\n\/\/ \u5bfe\u7b56: \u4e8b\u524d\u306b\u5f62\u5f0f\u3092\u6574\u3048\u308b\n$cleaned = str_replace(',', '', $formatted);\n$num = (float)$cleaned;  \/\/ $num = 1234.56\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-126\">\u4f8b\u5916\u3092\u4f7f\u7528\u3057\u305f\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0<\/h4>\n\n\n\n<p>\u3088\u308a\u9ad8\u5ea6\u306a\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u624b\u6cd5\u3068\u3057\u3066\u3001\u4f8b\u5916\u3092\u6d3b\u7528\u3059\u308b\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30a8\u30e9\u30fc\u3092\u660e\u793a\u7684\u306b\u6355\u6349\u3057\u3001\u9069\u5207\u306b\u51e6\u7406\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/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 * \u6587\u5b57\u5217\u3092\u5b89\u5168\u306b\u6574\u6570\u306b\u5909\u63db\u3059\u308b\n * \n * @param string $value \u5909\u63db\u3059\u308b\u6587\u5b57\u5217\n * @param bool $strict \u53b3\u683c\u30e2\u30fc\u30c9\n * @return int \u5909\u63db\u7d50\u679c\n * @throws InvalidArgumentException \u5909\u63db\u3067\u304d\u306a\u3044\u5024\u304c\u6e21\u3055\u308c\u305f\u5834\u5408\uff08\u53b3\u683c\u30e2\u30fc\u30c9\u6642\u306e\u307f\uff09\n *\/\nfunction safeIntConversion($value, $strict = false) {\n    \/\/ null \u307e\u305f\u306f\u7a7a\u6587\u5b57\u5217\u306e\u5834\u5408\n    if ($value === null || $value === '') {\n        if ($strict) {\n            throw new InvalidArgumentException(\"\u7a7a\u306e\u5024\u306f\u6574\u6570\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\");\n        }\n        return 0;\n    }\n    \n    \/\/ \u6570\u5024\u3067\u306a\u3044\u5834\u5408\n    if (!is_numeric($value)) {\n        if ($strict) {\n            throw new InvalidArgumentException(\"'{$value}'\u306f\u6570\u5024\u3067\u306f\u3042\u308a\u307e\u305b\u3093\");\n        }\n        return 0;\n    }\n    \n    \/\/ \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\n    if ((float)$value &gt; PHP_INT_MAX || (float)$value &lt; PHP_INT_MIN) {\n        if ($strict) {\n            throw new InvalidArgumentException(\"'{$value}'\u306f\u6574\u6570\u306e\u7bc4\u56f2\u5916\u3067\u3059\");\n        }\n        return (float)$value &gt; 0 ? PHP_INT_MAX : PHP_INT_MIN;\n    }\n    \n    \/\/ \u6574\u6570\u5024\u3078\u306e\u5909\u63db\n    return (int)$value;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\ntry {\n    $userInput = $_GET['quantity'] ?? '';\n    $quantity = safeIntConversion($userInput, true);\n    echo \"\u6570\u91cf: {$quantity}\";\n} catch (InvalidArgumentException $e) {\n    echo \"\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage();\n    \/\/ \u30ed\u30b0\u8a18\u9332\n    error_log($e-&gt;getMessage());\n}\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306e\u5229\u70b9\u306f\u3001\u30a8\u30e9\u30fc\u306e\u8a73\u7d30\u60c5\u5831\u3092\u63d0\u4f9b\u3057\u306a\u304c\u3089\u3001\u547c\u3073\u51fa\u3057\u5074\u306b\u30a8\u30e9\u30fc\u51e6\u7406\u306e\u9078\u629e\u80a2\u3092\u4e0e\u3048\u308b\u3053\u3068\u3067\u3059\u3002<code>$strict<\/code>\u30d1\u30e9\u30e1\u30fc\u30bf\u3092<code>false<\/code>\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3082\u6700\u5584\u306e\u63a8\u6e2c\u5024\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-127\">\u578b\u5909\u63db\u30a8\u30e9\u30fc\u306e\u30ed\u30b0\u8a18\u9332<\/h4>\n\n\n\n<p>\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u3001\u305d\u306e\u60c5\u5831\u3092\u9069\u5207\u306b\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u3053\u3068\u306f\u975e\u5e38\u306b\u91cd\u8981\u3067\u3059\u3002\u4ee5\u4e0b\u306f\u5305\u62ec\u7684\u306a\u30ed\u30b0\u8a18\u9332\u6a5f\u80fd\u3092\u6301\u3064\u5909\u63db\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9\u306e\u4f8b\u3067\u3059\u3002<\/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\nclass TypeConverter {\n    \/\/ \u30ed\u30b0\u30ec\u30d9\u30eb\u5b9a\u6570\n    const LOG_NONE = 0;\n    const LOG_ERRORS = 1;\n    const LOG_ALL = 2;\n    \n    \/\/ \u73fe\u5728\u306e\u30ed\u30b0\u30ec\u30d9\u30eb\n    private static $logLevel = self::LOG_ERRORS;\n    \n    \/**\n     * \u30ed\u30b0\u30ec\u30d9\u30eb\u3092\u8a2d\u5b9a\n     *\/\n    public static function setLogLevel($level) {\n        self::$logLevel = $level;\n    }\n    \n    \/**\n     * \u30ed\u30b0\u3092\u8a18\u9332\n     *\/\n    private static function log($message, $isError = true) {\n        if (($isError &amp;&amp; self::$logLevel &gt;= self::LOG_ERRORS) ||\n            (!$isError &amp;&amp; self::$logLevel &gt;= self::LOG_ALL)) {\n            error_log(\"[TypeConverter] \" . $message);\n        }\n    }\n    \n    \/**\n     * \u6587\u5b57\u5217\u3092\u5b89\u5168\u306b\u6574\u6570\u306b\u5909\u63db\n     *\/\n    public static function toInt($value, $default = 0) {\n        \/\/ null\u307e\u305f\u306f\u7a7a\u6587\u5b57\u5217\u306e\u5834\u5408\n        if ($value === null || $value === '') {\n            self::log(\"\u7a7a\u306e\u5024\u3092\u6574\u6570\u306b\u5909\u63db: \u30c7\u30d5\u30a9\u30eb\u30c8\u5024 {$default} \u3092\u4f7f\u7528\", false);\n            return $default;\n        }\n        \n        \/\/ \u6570\u5024\u3067\u306a\u3044\u5834\u5408\n        if (!is_numeric($value)) {\n            self::log(\"\u6570\u5024\u3067\u306a\u3044\u5024 '{$value}' \u3092\u6574\u6570\u306b\u5909\u63db: \u30c7\u30d5\u30a9\u30eb\u30c8\u5024 {$default} \u3092\u4f7f\u7528\", true);\n            return $default;\n        }\n        \n        \/\/ \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\n        if ((float)$value &gt; PHP_INT_MAX) {\n            self::log(\"\u6574\u6570\u7bc4\u56f2\u3092\u8d85\u3048\u308b\u5024 '{$value}': PHP_INT_MAX \u3092\u4f7f\u7528\", true);\n            return PHP_INT_MAX;\n        }\n        \n        if ((float)$value &lt; PHP_INT_MIN) {\n            self::log(\"\u6574\u6570\u7bc4\u56f2\u672a\u6e80\u306e\u5024 '{$value}': PHP_INT_MIN \u3092\u4f7f\u7528\", true);\n            return PHP_INT_MIN;\n        }\n        \n        \/\/ \u5c0f\u6570\u70b9\u4ee5\u4e0b\u306e\u5207\u308a\u6368\u3066\u3092\u30c1\u30a7\u30c3\u30af\n        if ((float)$value != (int)$value) {\n            self::log(\"\u5c0f\u6570\u70b9\u4ee5\u4e0b\u5207\u308a\u6368\u3066: {$value} -&gt; \" . (int)$value, false);\n        }\n        \n        return (int)$value;\n    }\n    \n    \/**\n     * \u6587\u5b57\u5217\u3092\u5b89\u5168\u306b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db\n     *\/\n    public static function toFloat($value, $default = 0.0) {\n        \/\/ null\u307e\u305f\u306f\u7a7a\u6587\u5b57\u5217\u306e\u5834\u5408\n        if ($value === null || $value === '') {\n            self::log(\"\u7a7a\u306e\u5024\u3092\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db: \u30c7\u30d5\u30a9\u30eb\u30c8\u5024 {$default} \u3092\u4f7f\u7528\", false);\n            return $default;\n        }\n        \n        \/\/ \u6570\u5024\u3067\u306a\u3044\u5834\u5408\n        if (!is_numeric($value)) {\n            self::log(\"\u6570\u5024\u3067\u306a\u3044\u5024 '{$value}' \u3092\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306b\u5909\u63db: \u30c7\u30d5\u30a9\u30eb\u30c8\u5024 {$default} \u3092\u4f7f\u7528\", true);\n            return $default;\n        }\n        \n        \/\/ INF\u3084 NaN \u306e\u691c\u51fa\n        $result = (float)$value;\n        if (is_infinite($result)) {\n            self::log(\"\u7121\u9650\u5927\u306e\u5024\u3092\u691c\u51fa: {$value}\", true);\n        } else if (is_nan($result)) {\n            self::log(\"\u975e\u6570\uff08NaN\uff09\u3092\u691c\u51fa: {$value}\", true);\n            return $default;\n        }\n        \n        return $result;\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n\/\/ \u672c\u756a\u74b0\u5883\u3067\u306f\u30a8\u30e9\u30fc\u306e\u307f\u30ed\u30b0\u8a18\u9332\nTypeConverter::setLogLevel(TypeConverter::LOG_ERRORS);\n\n\/\/ \u958b\u767a\u74b0\u5883\u3067\u306f\u5168\u3066\u3092\u30ed\u30b0\u8a18\u9332\n\/\/ TypeConverter::setLogLevel(TypeConverter::LOG_ALL);\n\n$values = [\n    \"123\",     \/\/ \u6709\u52b9\u306a\u6574\u6570\n    \"4.5\",     \/\/ \u5c0f\u6570\u70b9\n    \"abc\",     \/\/ \u7121\u52b9\u306a\u5024\n    \"1e10\",    \/\/ \u79d1\u5b66\u7684\u8a18\u6570\u6cd5\n    \"9\" . str_repeat(\"9\", 20)  \/\/ \u5de8\u5927\u306a\u6570\u5024\n];\n\nforeach ($values as $value) {\n    $intVal = TypeConverter::toInt($value);\n    $floatVal = TypeConverter::toFloat($value);\n    \n    echo \"{$value} \u2192 \u6574\u6570: {$intVal}, \u6d6e\u52d5\u5c0f\u6570\u70b9: {$floatVal}\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<p>\u3053\u306e\u30af\u30e9\u30b9\u306f\u3001\u5909\u63db\u306b\u95a2\u9023\u3059\u308b\u3059\u3079\u3066\u306e\u554f\u984c\u3092\u8a73\u7d30\u306b\u30ed\u30b0\u306b\u8a18\u9332\u3057\u3001\u958b\u767a\u74b0\u5883\u3068\u672c\u756a\u74b0\u5883\u3067\u7570\u306a\u308b\u30ed\u30b0\u30ec\u30d9\u30eb\u3092\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-128\">\u5909\u63db\u7d50\u679c\u306e\u59a5\u5f53\u6027\u691c\u8a3c\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<p>\u6570\u5024\u5909\u63db\u5f8c\u306f\u3001\u7d50\u679c\u304c\u671f\u5f85\u901a\u308a\u3067\u3042\u308b\u304b\u3092\u691c\u8a3c\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u4ee5\u4e0b\u306b\u3001\u4e00\u822c\u7684\u306a\u59a5\u5f53\u6027\u691c\u8a3c\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-129\">1. \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af<\/h4>\n\n\n\n<p>\u7279\u5b9a\u306e\u5024\u306e\u7bc4\u56f2\u5185\u306b\u53ce\u307e\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/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 * \u6574\u6570\u5024\u304c\u6307\u5b9a\u3055\u308c\u305f\u7bc4\u56f2\u5185\u304b\u30c1\u30a7\u30c3\u30af\u3059\u308b\n * \n * @param int $value \u30c1\u30a7\u30c3\u30af\u3059\u308b\u5024\n * @param int $min \u6700\u5c0f\u5024\n * @param int $max \u6700\u5927\u5024\n * @return int \u7bc4\u56f2\u5185\u306b\u8abf\u6574\u3055\u308c\u305f\u5024\n *\/\nfunction ensureIntRange($value, $min, $max) {\n    \/\/ \u307e\u305a\u6574\u6570\u306b\u5909\u63db\n    $intValue = (int)$value;\n    \n    \/\/ \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u3068\u8abf\u6574\n    if ($intValue &lt; $min) {\n        error_log(\"\u5024 {$intValue} \u304c\u6700\u5c0f\u5024 {$min} \u672a\u6e80\u3067\u3059\u3002\u6700\u5c0f\u5024\u306b\u8abf\u6574\u3057\u307e\u3059\u3002\");\n        return $min;\n    }\n    \n    if ($intValue &gt; $max) {\n        error_log(\"\u5024 {$intValue} \u304c\u6700\u5927\u5024 {$max} \u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002\u6700\u5927\u5024\u306b\u8abf\u6574\u3057\u307e\u3059\u3002\");\n        return $max;\n    }\n    \n    return $intValue;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\uff1a\u5e74\u9f62\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\n$age = $_POST['age'] ?? '';\n$validAge = ensureIntRange((int)$age, 0, 120);\n\n\/\/ \u4f7f\u7528\u4f8b\uff1a\u5546\u54c1\u6570\u91cf\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\n$quantity = $_POST['quantity'] ?? '';\n$validQuantity = ensureIntRange((int)$quantity, 1, 100);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-130\">2. \u30d3\u30b8\u30cd\u30b9\u30eb\u30fc\u30eb\u306b\u57fa\u3065\u304f\u691c\u8a3c<\/h4>\n\n\n\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8981\u4ef6\u306b\u57fa\u3065\u3044\u3066\u3001\u5909\u63db\u7d50\u679c\u304c\u610f\u5473\u7684\u306b\u6b63\u3057\u3044\u304b\u3092\u691c\u8a3c\u3057\u307e\u3059\u3002<\/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 * \u5546\u54c1\u4fa1\u683c\u306e\u59a5\u5f53\u6027\u3092\u691c\u8a3c\u3059\u308b\n * \n * @param float $price \u691c\u8a3c\u3059\u308b\u4fa1\u683c\n * @param string $currency \u901a\u8ca8\n * @return bool \u59a5\u5f53\u3067\u3042\u308c\u3070true\n *\/\nfunction isValidProductPrice($price, $currency = 'JPY') {\n    \/\/ 0\u4ee5\u4e0a\u306e\u6570\u5024\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\n    if ($price &lt; 0) {\n        return false;\n    }\n    \n    \/\/ \u901a\u8ca8\u3054\u3068\u306e\u691c\u8a3c\u30eb\u30fc\u30eb\n    switch ($currency) {\n        case 'JPY':\n            \/\/ \u65e5\u672c\u5186\u306e\u5834\u5408\u3001\u5c0f\u6570\u70b9\u4ee5\u4e0b\u304c\u306a\u3044\u6574\u6570\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\n            return $price == (int)$price;\n            \n        case 'USD':\n        case 'EUR':\n            \/\/ \u30c9\u30eb\u3068\u30e6\u30fc\u30ed\u306e\u5834\u5408\u3001\u5c0f\u6570\u70b9\u4ee5\u4e0b2\u6841\u307e\u3067\u8a31\u53ef\n            $rounded = round($price, 2);\n            return abs($price - $rounded) &lt; 0.001;\n            \n        default:\n            \/\/ \u305d\u306e\u4ed6\u306e\u901a\u8ca8\u306f\u5358\u7d14\u306a\u6570\u5024\u30c1\u30a7\u30c3\u30af\u306e\u307f\n            return is_numeric($price);\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$prices = [\n    ['value' =&gt; \"1000\", 'currency' =&gt; 'JPY'],\n    ['value' =&gt; \"19.99\", 'currency' =&gt; 'USD'],\n    ['value' =&gt; \"1000.5\", 'currency' =&gt; 'JPY'],  \/\/ \u65e5\u672c\u5186\u3067\u5c0f\u6570\u70b9\uff08\u7121\u52b9\uff09\n    ['value' =&gt; \"19.999\", 'currency' =&gt; 'USD']   \/\/ \u30c9\u30eb\u3067\u5c0f\u6570\u70b93\u6841\uff08\u7121\u52b9\uff09\n];\n\nforeach ($prices as $item) {\n    $price = (float)$item['value'];\n    $currency = $item['currency'];\n    \n    if (isValidProductPrice($price, $currency)) {\n        echo \"{$price} {$currency} \u306f\u6709\u52b9\u306a\u4fa1\u683c\u3067\u3059\u3002\\n\";\n    } else {\n        echo \"{$price} {$currency} \u306f\u7121\u52b9\u306a\u4fa1\u683c\u3067\u3059\u3002\\n\";\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-131\">3. \u7cbe\u5ea6\u306e\u78ba\u8a8d<\/h4>\n\n\n\n<p>\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306e\u7cbe\u5ea6\u554f\u984c\u3092\u8003\u616e\u3057\u305f\u691c\u8a3c\u3092\u884c\u3044\u307e\u3059\u3002<\/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 * \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306e\u7cbe\u5ea6\u3092\u8003\u616e\u3057\u305f\u7b49\u4fa1\u6bd4\u8f03\n * \n * @param float $a \u6bd4\u8f03\u3059\u308b\u50241\n * @param float $b \u6bd4\u8f03\u3059\u308b\u50242\n * @param float $epsilon \u8a31\u5bb9\u8aa4\u5dee\n * @return bool \u7b49\u3057\u3051\u308c\u3070true\n *\/\nfunction floatEquals($a, $b, $epsilon = 0.00001) {\n    return abs($a - $b) &lt; $epsilon;\n}\n\n\/**\n * \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306e\u7cbe\u5ea6\u3092\u6307\u5b9a\u6841\u6570\u306b\u5236\u9650\n * \n * @param float $value \u51e6\u7406\u3059\u308b\u5024\n * @param int $precision \u5c0f\u6570\u70b9\u4ee5\u4e0b\u306e\u6841\u6570\n * @return float \u7cbe\u5ea6\u3092\u5236\u9650\u3057\u305f\u5024\n *\/\nfunction limitPrecision($value, $precision = 2) {\n    \/\/ \u56db\u6368\u4e94\u5165\u3057\u3066\u6841\u6570\u3092\u5236\u9650\n    $multiplier = pow(10, $precision);\n    return round($value * $multiplier) \/ $multiplier;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\uff1a\u8a08\u7b97\u7d50\u679c\u306e\u691c\u8a3c\n$a = 0.1;\n$b = 0.2;\n$sum = $a + $b;  \/\/ \u671f\u5f85\u5024\u306f0.3\u3060\u304c\u3001\u5b9f\u969b\u306b\u306f0.30000000000000004\u306b\u306a\u308b\u53ef\u80fd\u6027\n\nif (floatEquals($sum, 0.3)) {\n    echo \"\u5408\u8a08\u306f0.3\u3067\u3059\uff08\u7cbe\u5ea6\u8003\u616e\uff09\\n\";\n} else {\n    echo \"\u5408\u8a08\u306f0.3\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff1a{$sum}\\n\";\n}\n\n\/\/ \u4f7f\u7528\u4f8b\uff1a\u4fa1\u683c\u8a08\u7b97\u306e\u7cbe\u5ea6\u5236\u9650\n$price = 19.99;\n$quantity = 3;\n$total = $price * $quantity;  \/\/ 59.97\n$limitedTotal = limitPrecision($total, 2);  \/\/ 59.97\uff08\u7aef\u6570\u51e6\u7406\u6e08\u307f\uff09\n\necho \"\u5408\u8a08\u91d1\u984d: {$limitedTotal}\\n\";\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-132\">\u30c7\u30d0\u30c3\u30b0\u306e\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3068\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<p>\u578b\u5909\u63db\u306b\u95a2\u9023\u3059\u308b\u554f\u984c\u3092\u30c7\u30d0\u30c3\u30b0\u3059\u308b\u305f\u3081\u306b\u3001\u4ee5\u4e0b\u306e\u30c4\u30fc\u30eb\u3068\u30c6\u30af\u30cb\u30c3\u30af\u304c\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-133\">1. var_dump \u3068 print_r<\/h4>\n\n\n\n<p><code>var_dump()<\/code>\u3068<code>print_r()<\/code>\u306f\u3001\u5909\u6570\u306e\u578b\u3068\u5024\u3092\u8abf\u67fb\u3059\u308b\u305f\u3081\u306e\u57fa\u672c\u7684\u306a\u30c7\u30d0\u30c3\u30b0\u95a2\u6570\u3067\u3059\u3002<\/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\/\/ \u7570\u306a\u308b\u5024\u306e\u578b\u3068\u5185\u5bb9\u3092\u8abf\u67fb\n$values = [\n    \"123\",\n    123,\n    123.0,\n    \"123.45\",\n    \"0123\",   \/\/ \u5148\u982d\u304c0\uff088\u9032\u6570\u3068\u3057\u3066\u89e3\u91c8\u3055\u308c\u308b\u53ef\u80fd\u6027\uff09\n    \"0x1A\",   \/\/ 16\u9032\u6570\u8868\u8a18\n    \"\"        \/\/ \u7a7a\u6587\u5b57\u5217\n];\n\nforeach ($values as $value) {\n    echo \"var_dump: \";\n    var_dump($value);\n    \n    echo \"as integer: \";\n    var_dump((int)$value);\n    \n    echo \"as float: \";\n    var_dump((float)$value);\n    \n    echo \"-----\\n\";\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-134\">2. \u30c7\u30d0\u30c3\u30b0\u30d0\u30c3\u30af\u30c8\u30ec\u30fc\u30b9<\/h4>\n\n\n\n<p>\u578b\u5909\u63db\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u6642\u70b9\u3067\u306e\u30b3\u30fc\u30eb\u30b9\u30bf\u30c3\u30af\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u3067\u3001\u554f\u984c\u306e\u767a\u751f\u7b87\u6240\u3092\u7279\u5b9a\u3067\u304d\u307e\u3059\u3002<\/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 * \u3088\u308a\u8a73\u7d30\u306a\u30a8\u30e9\u30fc\u60c5\u5831\u3092\u542b\u3080\u578b\u5909\u63db\n *\/\nfunction debugToInt($value, $label = '') {\n    \/\/ \u5909\u63db\u524d\u306b\u578b\u3068\u5024\u3092\u30ed\u30b0\u306b\u8a18\u9332\n    $type = gettype($value);\n    $debugInfo = \"Converting '{$value}' (type: {$type})\";\n    if ($label) {\n        $debugInfo .= \" [{$label}]\";\n    }\n    error_log($debugInfo);\n    \n    \/\/ \u6570\u5024\u3067\u306a\u3044\u5834\u5408\u306f\u30d0\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3092\u53d6\u5f97\n    if (!is_numeric($value) &amp;&amp; $value !== null &amp;&amp; $value !== '') {\n        $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);\n        $caller = isset($backtrace[1]) ? $backtrace[1] : [];\n        $file = $caller['file'] ?? 'unknown';\n        $line = $caller['line'] ?? 'unknown';\n        $function = $caller['function'] ?? 'unknown';\n        \n        error_log(\"Non-numeric value at {$file}:{$line} in {$function}()\");\n    }\n    \n    return (int)$value;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\nfunction processUserData($userData) {\n    $userId = debugToInt($userData['id'], 'user_id');\n    $age = debugToInt($userData['age'], 'age');\n    \n    return [\n        'userId' =&gt; $userId,\n        'age' =&gt; $age\n    ];\n}\n\n\/\/ \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\n$userData = [\n    'id' =&gt; '123',\n    'age' =&gt; 'unknown'  \/\/ \u6570\u5024\u3067\u306a\u3044\u5024\n];\n\n$processedData = processUserData($userData);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-135\">3. \u30a8\u30e9\u30fc\u306e\u30ab\u30b9\u30bf\u30e0\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0<\/h4>\n\n\n\n<p>PHP\u306e\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30e9\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3059\u308b\u3053\u3068\u3067\u3001\u578b\u5909\u63db\u306e\u8b66\u544a\u3092\u3088\u308a\u8a73\u7d30\u306b\u6355\u6349\u3067\u304d\u307e\u3059\u3002<\/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\/\/ \u30ab\u30b9\u30bf\u30e0\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30e9\u306e\u8a2d\u5b9a\nset_error_handler(function($errno, $errstr, $errfile, $errline) {\n    \/\/ \u578b\u5909\u63db\u95a2\u9023\u306e\u30a8\u30e9\u30fc\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\n    if (strpos($errstr, 'numeric') !== false || \n        strpos($errstr, 'conversion') !== false ||\n        strpos($errstr, 'type') !== false) {\n        \n        \/\/ \u30a8\u30e9\u30fc\u60c5\u5831\u3092\u8a18\u9332\n        error_log(\"\u578b\u5909\u63db\u30a8\u30e9\u30fc: {$errstr} in {$errfile} on line {$errline}\");\n        \n        \/\/ \u30a8\u30e9\u30fc\u3092\u30b9\u30ed\u30fc\u3059\u308b\u304b\u3001\u7279\u5b9a\u306e\u51e6\u7406\u3092\u884c\u3046\n        if (strpos($errstr, 'non-numeric') !== false) {\n            throw new InvalidArgumentException(\"\u6570\u5024\u3067\u306a\u3044\u5024\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\");\n        }\n    }\n    \n    \/\/ \u4ed6\u306e\u30a8\u30e9\u30fc\u306f\u901a\u5e38\u306e\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30e9\u306b\u59d4\u8b72\n    return false;\n});\n\n\/\/ \u30a8\u30e9\u30fc\u3092\u5f15\u304d\u8d77\u3053\u3059\u51e6\u7406\ntry {\n    $result = \"abc\" + 5;  \/\/ PHP 8.0\u4ee5\u964d\u3067\u306f\u8b66\u544a\u304c\u767a\u751f\n} catch (InvalidArgumentException $e) {\n    echo \"\u30a8\u30e9\u30fc\u3092\u6355\u6349: \" . $e-&gt;getMessage() . \"\\n\";\n}\n\n\/\/ \u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30e9\u3092\u30ea\u30bb\u30c3\u30c8\nrestore_error_handler();\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-136\">4. \u5358\u4f53\u30c6\u30b9\u30c8\u306b\u3088\u308b\u691c\u8a3c<\/h4>\n\n\n\n<p>PHPUnit\u306a\u3069\u306e\u5358\u4f53\u30c6\u30b9\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u3066\u3001\u578b\u5909\u63db\u95a2\u6570\u3092\u4f53\u7cfb\u7684\u306b\u30c6\u30b9\u30c8\u3067\u304d\u307e\u3059\u3002<\/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\/\/ \u5358\u4f53\u30c6\u30b9\u30c8\u306e\u4f8b\uff08PHPUnit\u60f3\u5b9a\uff09\nclass NumberConverterTest extends \\PHPUnit\\Framework\\TestCase {\n    \/**\n     * @dataProvider validIntegerProvider\n     *\/\n    public function testValidIntConversion($input, $expected) {\n        $converter = new TypeConverter();\n        $result = $converter-&gt;toInt($input);\n        \n        $this-&gt;assertSame($expected, $result);\n    }\n    \n    \/**\n     * @dataProvider invalidInputProvider\n     *\/\n    public function testInvalidInputHandling($input, $expected) {\n        $converter = new TypeConverter();\n        $result = $converter-&gt;toInt($input);\n        \n        $this-&gt;assertSame($expected, $result);\n    }\n    \n    public function validIntegerProvider() {\n        return [\n            [\"123\", 123],\n            [\"0\", 0],\n            [\"-123\", -123],\n            [123, 123],  \/\/ \u65e2\u306b\u6574\u6570\n            [123.45, 123],  \/\/ \u5c0f\u6570\u70b9\u4ee5\u4e0b\u306e\u5207\u308a\u6368\u3066\n        ];\n    }\n    \n    public function invalidInputProvider() {\n        return [\n            [\"abc\", 0],  \/\/ \u6570\u5024\u3067\u306a\u3044\u6587\u5b57\u5217\n            [\"\", 0],     \/\/ \u7a7a\u6587\u5b57\u5217\n            [null, 0],   \/\/ NULL\u5024\n            [[], 0],     \/\/ \u914d\u5217\uff08\u7121\u52b9\u306a\u5165\u529b\uff09\n        ];\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<p>\u5358\u4f53\u30c6\u30b9\u30c8\u306f\u3001\u578b\u5909\u63db\u95a2\u6570\u306e\u4e00\u8cab\u6027\u3092\u78ba\u4fdd\u3057\u3001\u30ea\u30b0\u30ec\u30c3\u30b7\u30e7\u30f3\u30d0\u30b0\u3092\u9632\u3050\u306e\u306b\u975e\u5e38\u306b\u6709\u52b9\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-137\">\u307e\u3068\u3081<\/h3>\n\n\n\n<p>\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u30a8\u30e9\u30fc\u3092\u9069\u5207\u306b\u51e6\u7406\u3057\u3001\u30c7\u30d0\u30c3\u30b0\u3059\u308b\u305f\u3081\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u307e\u3068\u3081\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5e38\u306b\u5165\u529b\u3092\u691c\u8a3c\u3059\u308b<\/strong>\uff1a <code>is_numeric()<\/code>\u3084<code>filter_var()<\/code>\u3092\u4f7f\u7528\u3057\u3066\u3001\u5909\u63db\u524d\u306b\u5165\u529b\u3092\u691c\u8a3c\u3059\u308b<\/li>\n\n\n\n<li><strong>\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u5b9a\u7fa9\u3059\u308b<\/strong>\uff1a \u5909\u63db\u30a8\u30e9\u30fc\u6642\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u660e\u793a\u7684\u306b\u8a2d\u5b9a\u3059\u308b<\/li>\n\n\n\n<li><strong>\u30a8\u30e9\u30fc\u3092\u9069\u5207\u306b\u30ed\u30b0\u8a18\u9332\u3059\u308b<\/strong>\uff1a \u578b\u5909\u63db\u306e\u554f\u984c\u3092\u8a73\u7d30\u306b\u30ed\u30b0\u306b\u8a18\u9332\u3057\u3001\u5f8c\u3067\u5206\u6790\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b<\/li>\n\n\n\n<li><strong>\u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u3092\u5fd8\u308c\u306a\u3044<\/strong>\uff1a \u6574\u6570\u306e\u6700\u5927\u5024\/\u6700\u5c0f\u5024\u3092\u8d85\u3048\u308b\u5024\u306b\u6ce8\u610f\u3057\u3001\u9069\u5207\u306b\u51e6\u7406\u3059\u308b<\/li>\n\n\n\n<li><strong>\u610f\u5473\u7684\u306a\u691c\u8a3c\u3092\u884c\u3046<\/strong>\uff1a \u30d3\u30b8\u30cd\u30b9\u30eb\u30fc\u30eb\u306b\u57fa\u3065\u3044\u3066\u5909\u63db\u7d50\u679c\u304c\u6709\u52b9\u304b\u3069\u3046\u304b\u3092\u691c\u8a3c\u3059\u308b<\/li>\n\n\n\n<li><strong>\u4f8b\u5916\u3092\u6d3b\u7528\u3059\u308b<\/strong>\uff1a \u91cd\u5927\u306a\u30a8\u30e9\u30fc\u306b\u306f\u4f8b\u5916\u3092\u4f7f\u7528\u3057\u3001\u547c\u3073\u51fa\u3057\u5074\u3067\u30ad\u30e3\u30c3\u30c1\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b<\/li>\n\n\n\n<li><strong>PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u9055\u3044\u3092\u8003\u616e\u3059\u308b<\/strong>\uff1a PHP 7.x\u3068PHP 8.x\u3067\u306e\u578b\u5909\u63db\u306e\u8b66\u544a\u30ec\u30d9\u30eb\u306e\u9055\u3044\u306b\u6ce8\u610f\u3059\u308b<\/li>\n\n\n\n<li><strong>\u5358\u4f53\u30c6\u30b9\u30c8\u3067\u691c\u8a3c\u3059\u308b<\/strong>\uff1a \u578b\u5909\u63db\u95a2\u6570\u3092\u4f53\u7cfb\u7684\u306b\u30c6\u30b9\u30c8\u3057\u3001\u60f3\u5b9a\u901a\u308a\u306e\u52d5\u4f5c\u3092\u78ba\u8a8d\u3059\u308b<\/li>\n\n\n\n<li><strong>\u5171\u901a\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u3092\u4f7f\u7528\u3059\u308b<\/strong>\uff1a \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3067\u4e00\u8cab\u3057\u305f\u578b\u5909\u63db\u30a8\u30e9\u30fc\u51e6\u7406\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u3001\u5171\u901a\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9\u3092\u5c0e\u5165\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u9069\u5207\u306a\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3068\u30c7\u30d0\u30c3\u30b0\u30c6\u30af\u30cb\u30c3\u30af\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u5909\u63db\u306b\u4f34\u3046\u554f\u984c\u3092\u65e9\u671f\u306b\u767a\u898b\u3057\u3001\u5805\u7262\u306aPHP\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u305f\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u6226\u7565\u306b\u3064\u3044\u3066\u7dcf\u5408\u7684\u306b\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-138\">\u307e\u3068\u3081\uff1a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9069\u3057\u305f\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u6226\u7565<\/h2>\n\n\n\n<p>\u3053\u3053\u307e\u3067\u3001PHP\u306b\u304a\u3051\u308b\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u76f8\u4e92\u5909\u63db\u306b\u3064\u3044\u3066\u3001\u57fa\u790e\u304b\u3089\u5fdc\u7528\u307e\u3067\u8a73\u3057\u304f\u89e3\u8aac\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u672c\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u308c\u307e\u3067\u306e\u5185\u5bb9\u3092\u7dcf\u62ec\u3057\u3001\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9069\u7528\u3059\u308b\u305f\u3081\u306e\u5b9f\u8df5\u7684\u306a\u6226\u7565\u3092\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-139\">\u7528\u9014\u5225\u304a\u3059\u3059\u3081\u5909\u63db\u65b9\u6cd5\u306e\u30c1\u30fc\u30c8\u30b7\u30fc\u30c8<\/h3>\n\n\n\n<p>\u307e\u305a\u3001\u69d8\u3005\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u5225\u306b\u6700\u9069\u306a\u5909\u63db\u65b9\u6cd5\u3092\u30c1\u30fc\u30c8\u30b7\u30fc\u30c8\u5f62\u5f0f\u3067\u6574\u7406\u3057\u307e\u3059\u3002<\/p>\n\n\n<div id=\"id-99ec60b6-2ce8-41a4-b547-c8d21e8902ff\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/th><th>\u63a8\u5968\u65b9\u6cd5<\/th><th>\u5099\u8003<\/th><\/tr><\/thead><tbody><tr><td><strong>\u30b7\u30f3\u30d7\u30eb\u306a\u6574\u6570\u5909\u63db<\/strong><\/td><td><code>(int)$value<\/code><\/td><td>\u6700\u3082\u9ad8\u901f\u3002\u57fa\u672c\u7684\u306a\u5909\u63db\u306b\u6700\u9069<\/td><\/tr><tr><td><strong>\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3078\u306e\u5909\u63db<\/strong><\/td><td><code>(float)$value<\/code><\/td><td>\u6700\u3082\u9ad8\u901f\u3002\u57fa\u672c\u7684\u306a\u5909\u63db\u306b\u6700\u9069<\/td><\/tr><tr><td><strong>\u57fa\u6570\u6307\u5b9a\u5909\u63db<\/strong><\/td><td><code>intval($value, $base)<\/code><\/td><td>16\u9032\u6570\u30018\u9032\u6570\u306a\u3069\u309210\u9032\u6570\u306b\u5909\u63db\u3059\u308b\u5834\u5408<\/td><\/tr><tr><td><strong>\u691c\u8a3c\u4ed8\u304d\u5909\u63db<\/strong><\/td><td><code>filter_var($value, FILTER_VALIDATE_INT)<\/code><\/td><td>\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3068\u5909\u63db\u3092\u540c\u6642\u306b\u884c\u3044\u305f\u3044\u5834\u5408<\/td><\/tr><tr><td><strong>\u7bc4\u56f2\u5236\u9650\u4ed8\u304d\u5909\u63db<\/strong><\/td><td><code>min(max((int)$value, $min), $max)<\/code><\/td><td>\u7279\u5b9a\u306e\u7bc4\u56f2\u5185\u306b\u53ce\u3081\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408<\/td><\/tr><tr><td><strong>\u30a8\u30e9\u30fc\u51e6\u7406\u4ed8\u304d\u5909\u63db<\/strong><\/td><td>\u30ab\u30b9\u30bf\u30e0\u95a2\u6570\uff08\u4f8b:<code>safeIntConversion()<\/code>\uff09<\/td><td>\u5909\u63db\u30a8\u30e9\u30fc\u3092\u9069\u5207\u306b\u51e6\u7406\u3057\u305f\u3044\u5834\u5408<\/td><\/tr><tr><td><strong>\u901a\u8ca8\u6587\u5b57\u5217\u306e\u5909\u63db<\/strong><\/td><td><code>preg_replace('\/[^\\d.]\/', '', $value)<\/code><\/td><td>\u901a\u8ca8\u8a18\u53f7\u3084\u30ab\u30f3\u30de\u3092\u9664\u53bb\u3057\u3066\u304b\u3089\u5909\u63db<\/td><\/tr><tr><td><strong>\u30ab\u30f3\u30de\u533a\u5207\u308a\u6570\u5024\u306e\u5909\u63db<\/strong><\/td><td><code>str_replace(',', '', $value)<\/code><\/td><td>\u30ab\u30f3\u30de\u533a\u5207\u308a\u306e\u6570\u5024\u6587\u5b57\u5217\u3092\u5909\u63db<\/td><\/tr><tr><td><strong>\u7570\u306a\u308b\u5730\u57df\u5f62\u5f0f\u306e\u5909\u63db<\/strong><\/td><td><code>NumberFormatter<\/code>\u30af\u30e9\u30b9\uff08intl\u62e1\u5f35\uff09<\/td><td>\u56fd\u969b\u5316\u5bfe\u5fdc\u304c\u5fc5\u8981\u306a\u5834\u5408<\/td><\/tr><tr><td><strong>\u7cbe\u5ea6\u304c\u91cd\u8981\u306a\u5909\u63db<\/strong><\/td><td><code>bcmath<\/code>\u95a2\u6570\u7fa4<\/td><td>\u91d1\u878d\u8a08\u7b97\u306a\u3069\u9ad8\u7cbe\u5ea6\u304c\u5fc5\u8981\u306a\u5834\u5408<\/td><\/tr><tr><td><strong>NULL\u5b89\u5168\u306a\u5909\u63db<\/strong><\/td><td><code>(int)($value ?? 0)<\/code><\/td><td>NULL\u5024\u3092\u5b89\u5168\u306b\u6271\u3044\u305f\u3044\u5834\u5408<\/td><\/tr><tr><td><strong>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5024\u306e\u578b\u7dad\u6301<\/strong><\/td><td>PDO + <code>ATTR_EMULATE_PREPARES =&gt; false<\/code><\/td><td>DB\u306e\u578b\u60c5\u5831\u3092\u4fdd\u6301\u3057\u305f\u307e\u307efetch\u3057\u305f\u3044\u5834\u5408<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"i-140\">\u6587\u5b57\u5217\u6570\u5024\u5909\u63db\u306b\u95a2\u3059\u308b\u5b9f\u8df5\u7684\u306a\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h3>\n\n\n\n<p>\u5b9f\u52d9\u3067PHP\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u3001\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u76f8\u4e92\u5909\u63db\u306b\u95a2\u3059\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u4ee5\u4e0b\u306b\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-141\">1. \u5b89\u5168\u6027\u3092\u512a\u5148\u3059\u308b<\/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\/\/ \u60aa\u3044\u4f8b: \u691c\u8a3c\u306a\u3057\u306e\u5909\u63db\n$id = (int)$_GET['id'];\n\n\/\/ \u826f\u3044\u4f8b: \u5b89\u5168\u306a\u5909\u63db\n$id = filter_var($_GET['id'] ?? 0, FILTER_VALIDATE_INT, [\n    'options' =&gt; ['default' =&gt; 0, 'min_range' =&gt; 1]\n]);\n\n\/\/ \u3088\u308a\u826f\u3044\u4f8b: \u5305\u62ec\u7684\u306a\u691c\u8a3c\u3068\u5909\u63db\nfunction safeInt($value, $min = null, $max = null, $default = 0) {\n    if (!is_numeric($value)) {\n        return $default;\n    }\n    \n    $intValue = (int)$value;\n    \n    if ($min !== null &amp;&amp; $intValue &lt; $min) {\n        return $min;\n    }\n    \n    if ($max !== null &amp;&amp; $intValue &gt; $max) {\n        return $max;\n    }\n    \n    return $intValue;\n}\n\n$id = safeInt($_GET['id'] ?? 0, 1);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-142\">2. \u4e00\u8cab\u6027\u3092\u4fdd\u3064<\/h4>\n\n\n\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3067\u4e00\u8cab\u3057\u305f\u5909\u63db\u65b9\u6cd5\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30d0\u30b0\u306e\u767a\u751f\u3092\u6e1b\u3089\u3057\u3001\u30b3\u30fc\u30c9\u306e\u53ef\u8aad\u6027\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/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\/\/ \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3067\u4f7f\u7528\u3059\u308b\u578b\u5909\u63db\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9\nclass Converter {\n    public static function toInt($value, $options = []) {\n        \/\/ \u5b9f\u88c5\u306f\u7701\u7565\uff08\u524d\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u89e3\u8aac\uff09\n    }\n    \n    public static function toFloat($value, $options = []) {\n        \/\/ \u5b9f\u88c5\u306f\u7701\u7565\uff08\u524d\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u89e3\u8aac\uff09\n    }\n    \n    \/\/ \u305d\u306e\u4ed6\u306e\u5909\u63db\u30e1\u30bd\u30c3\u30c9...\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$id = Converter::toInt($_GET['id'], ['min' =&gt; 1, 'default' =&gt; 0]);\n$price = Converter::toFloat($_POST['price'], ['min' =&gt; 0.01]);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-143\">3. \u578b\u306e\u660e\u793a\u6027\u3092\u9ad8\u3081\u308b<\/h4>\n\n\n\n<p>\u7279\u306bPHP 7.4\u4ee5\u964d\u3067\u306f\u3001\u578b\u5ba3\u8a00\u3092\u7a4d\u6975\u7684\u306b\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u578b\u306e\u8aa4\u308a\u3092\u65e9\u671f\u306b\u767a\u898b\u3067\u304d\u307e\u3059\u3002<\/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\/\/ PHP 7.4\u4ee5\u964d\nclass Product {\n    public function __construct(\n        public int $id,\n        public string $name,\n        public float $price,\n        public ?array $options = null\n    ) {}\n    \n    public static function fromArray(array $data): self {\n        return new self(\n            (int)($data['id'] ?? 0),\n            (string)($data['name'] ?? ''),\n            (float)($data['price'] ?? 0.0),\n            $data['options'] ?? null\n        );\n    }\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$product = Product::fromArray($_POST);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-144\">4. PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u5408\u308f\u305b\u305f\u5bfe\u5fdc<\/h4>\n\n\n\n<p>PHP 7.x\u3068PHP 8.x\u3067\u306f\u3001\u578b\u5909\u63db\u306b\u95a2\u3059\u308b\u8b66\u544a\u30ec\u30d9\u30eb\u304c\u7570\u306a\u308a\u307e\u3059\u3002\u4e21\u65b9\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u52d5\u4f5c\u3059\u308b\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u5834\u5408\u306f\u3001\u305d\u306e\u9055\u3044\u3092\u8003\u616e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/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\/\/ PHP 7.x\u3068PHP 8.x\u306e\u4e21\u65b9\u3067\u52d5\u4f5c\u3059\u308b\u5b89\u5168\u306a\u5909\u63db\nfunction versionSafeConversion($value) {\n    \/\/ PHP 8.x\u3067\u306f\u6570\u5024\u3067\u306a\u3044\u6587\u5b57\u5217\u304b\u3089\u6570\u5024\u3078\u306e\u5909\u63db\u3067\u8b66\u544a\u304c\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\n    if (PHP_VERSION_ID &gt;= 80000 &amp;&amp; is_string($value) &amp;&amp; !is_numeric($value)) {\n        error_log(\"\u8b66\u544a: \u6570\u5024\u3067\u306a\u3044\u6587\u5b57\u5217\u306e\u5909\u63db: '{$value}'\");\n        return 0;\n    }\n    \n    return (int)$value;\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-145\">5. \u5927\u91cf\u30c7\u30fc\u30bf\u51e6\u7406\u3067\u306f\u52b9\u7387\u6027\u3092\u8003\u616e<\/h4>\n\n\n\n<p>\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3059\u308b\u5834\u5408\u306f\u3001\u52b9\u7387\u7684\u306a\u5909\u63db\u65b9\u6cd5\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/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\/\/ \u5927\u91cf\u30c7\u30fc\u30bf\u306e\u52b9\u7387\u7684\u306a\u51e6\u7406\nfunction processLargeDataset($data) {\n    \/\/ \u65b9\u6cd51: foreach + \u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\uff08PHP 8.x\u3067\u306fJIT\u306e\u6069\u6075\u3092\u53d7\u3051\u3084\u3059\u3044\uff09\n    $result1 = [];\n    foreach ($data as $item) {\n        $result1[] = (int)$item;\n    }\n    \n    \/\/ \u65b9\u6cd52: array_map + \u30ad\u30e3\u30b9\u30c8\uff08PHP 7.x\u3067\u306f\u52b9\u7387\u7684\u306a\u5834\u5408\u304c\u591a\u3044\uff09\n    $result2 = array_map(function($item) {\n        return (int)$item;\n    }, $data);\n    \n    \/\/ \u65b9\u6cd53: \u6700\u3082\u5358\u7d14\u3067\u3057\u3070\u3057\u3070\u6700\u901f\n    $result3 = array_map('intval', $data);\n    \n    return $result3; \/\/ \u4f7f\u7528\u3059\u308bPHP\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u6700\u9069\u306a\u65b9\u6cd5\u3092\u9078\u629e\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-146\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30bf\u30a4\u30d7\u5225\u306e\u6700\u9069\u306a\u5909\u63db\u6226\u7565<\/h3>\n\n\n\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u6027\u8cea\u306b\u3088\u3063\u3066\u3001\u6700\u9069\u306a\u5909\u63db\u6226\u7565\u3082\u7570\u306a\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u4e3b\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30bf\u30a4\u30d7\u5225\u306e\u63a8\u5968\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-147\">1. \u5c0f\u898f\u6a21\u301c\u4e2d\u898f\u6a21\u306eWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/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\/\/ \u5c0f\u301c\u4e2d\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5411\u3051\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\n\/\/ \u30b7\u30f3\u30d7\u30eb\u3055\u3068\u30d0\u30e9\u30f3\u30b9\u3092\u91cd\u8996\n\n\/\/ \u57fa\u672c\u7684\u306a\u578b\u5909\u63db\u95a2\u6570\u30bb\u30c3\u30c8\nfunction toInt($value, $default = 0) {\n    return filter_var($value, FILTER_VALIDATE_INT) !== false \n           ? (int)$value : $default;\n}\n\nfunction toFloat($value, $default = 0.0) {\n    return filter_var($value, FILTER_VALIDATE_FLOAT) !== false \n           ? (float)$value : $default;\n}\n\n\/\/ \u4f7f\u7528\u4f8b\n$id = toInt($_GET['id']);\n$quantity = toInt($_POST['quantity'], 1);\n$price = toFloat($_POST['price']);\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-148\">2. \u5927\u898f\u6a21\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/h4>\n\n\n\n<p>\u5927\u898f\u6a21\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001\u3088\u308a\u4f53\u7cfb\u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3068\u53b3\u683c\u306a\u578b\u30c1\u30a7\u30c3\u30af\u304c\u91cd\u8981\u3067\u3059\u3002<\/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\/\/ \u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5411\u3051\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\n\/\/ \u578b\u5b89\u5168\u6027\u3001\u4fdd\u5b88\u6027\u3001\u62e1\u5f35\u6027\u3092\u91cd\u8996\n\n\/\/ \u3088\u308a\u5305\u62ec\u7684\u306a\u578b\u5909\u63db\u30b5\u30fc\u30d3\u30b9\u30af\u30e9\u30b9\nclass TypeConversionService {\n    private $logger;\n    \n    public function __construct(LoggerInterface $logger) {\n        $this-&gt;logger = $logger;\n    }\n    \n    public function toInt($value, array $options = []) {\n        $default = $options['default'] ?? 0;\n        $min = $options['min'] ?? null;\n        $max = $options['max'] ?? null;\n        $log = $options['log'] ?? true;\n        \n        if (!is_numeric($value)) {\n            if ($log) {\n                $this-&gt;logger-&gt;warning(\"Invalid numeric value\", [\n                    'value' =&gt; $value,\n                    'type' =&gt; gettype($value)\n                ]);\n            }\n            return $default;\n        }\n        \n        $intValue = (int)$value;\n        \n        if ($min !== null &amp;&amp; $intValue &lt; $min) {\n            if ($log) {\n                $this-&gt;logger-&gt;notice(\"Value below minimum\", [\n                    'value' =&gt; $intValue,\n                    'min' =&gt; $min\n                ]);\n            }\n            return $min;\n        }\n        \n        if ($max !== null &amp;&amp; $intValue &gt; $max) {\n            if ($log) {\n                $this-&gt;logger-&gt;notice(\"Value above maximum\", [\n                    'value' =&gt; $intValue,\n                    'max' =&gt; $max\n                ]);\n            }\n            return $max;\n        }\n        \n        return $intValue;\n    }\n    \n    \/\/ \u4ed6\u306e\u5909\u63db\u30e1\u30bd\u30c3\u30c9...\n}\n\n\/\/ \u4f9d\u5b58\u6027\u6ce8\u5165\u3092\u4f7f\u3063\u305f\u4f7f\u7528\u4f8b\nclass ProductController {\n    private $conversionService;\n    \n    public function __construct(TypeConversionService $conversionService) {\n        $this-&gt;conversionService = $conversionService;\n    }\n    \n    public function updateProduct(Request $request): Response {\n        $productId = $this-&gt;conversionService-&gt;toInt($request-&gt;get('id'), [\n            'min' =&gt; 1,\n            'log' =&gt; true\n        ]);\n        \n        $price = $this-&gt;conversionService-&gt;toFloat($request-&gt;get('price'), [\n            'min' =&gt; 0.01\n        ]);\n        \n        \/\/ \u4ee5\u4e0b\u51e6\u7406\u7d9a\u304d...\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-149\">3. \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u91cd\u8996\u306e\u30b7\u30b9\u30c6\u30e0<\/h4>\n\n\n\n<p>\u8a08\u7b97\u51e6\u7406\u3084\u5927\u91cf\u30c7\u30fc\u30bf\u51e6\u7406\u304c\u5fc5\u8981\u306a\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u6700\u512a\u5148\u4e8b\u9805\u3067\u3059\u3002<\/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\u91cd\u8996\u306e\u30b7\u30b9\u30c6\u30e0\u5411\u3051\u30a2\u30d7\u30ed\u30fc\u30c1\n\/\/ \u5b9f\u884c\u901f\u5ea6\u306e\u6700\u9069\u5316\u3092\u91cd\u8996\n\n\/\/ \u4e8b\u524d\u691c\u8a3c\u3068\u6700\u9069\u5316\u3055\u308c\u305f\u5909\u63db\nfunction fastIntConversion($value) {\n    \/\/ \u6570\u5024\u578b\u306a\u3089\u5909\u63db\u4e0d\u8981\n    if (is_int($value)) {\n        return $value;\n    }\n    \n    \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u306a\u3089\u30ad\u30e3\u30b9\u30c8\n    if (is_float($value)) {\n        return (int)$value;\n    }\n    \n    \/\/ \u6587\u5b57\u5217\u306e\u5834\u5408\u306e\u307f\u691c\u8a3c\uff08\u6700\u3082\u591a\u3044\u30b1\u30fc\u30b9\uff09\n    if (is_string($value)) {\n        if (ctype_digit($value)) {\n            \/\/ \u7d14\u7c8b\u306a\u6570\u5b57\u6587\u5b57\u5217\u306f\u5358\u7d14\u30ad\u30e3\u30b9\u30c8\uff08\u6700\u901f\uff09\n            return (int)$value;\n        }\n        \n        if (is_numeric($value)) {\n            \/\/ \u6570\u5024\u5f62\u5f0f\u306e\u6587\u5b57\u5217\u306f\u30ad\u30e3\u30b9\u30c8\n            return (int)$value;\n        }\n        \n        \/\/ \u6570\u5024\u3067\u306a\u3044\u6587\u5b57\u5217\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\n        return 0;\n    }\n    \n    \/\/ \u305d\u306e\u4ed6\u306e\u578b\u306b\u306f\u30ad\u30e3\u30b9\u30c8\n    return (int)$value;\n}\n\n\/\/ \u30eb\u30fc\u30d7\u5185\u3067\u306e\u9ad8\u901f\u5909\u63db\nfunction processIntArray(array $data): array {\n    $result = [];\n    \n    \/\/ \u5358\u7d14\u30eb\u30fc\u30d7\u3068\u30ad\u30e3\u30b9\u30c8\uff08JIT\u6700\u9069\u5316\u306e\u6069\u6075\u3092\u53d7\u3051\u3084\u3059\u3044\uff09\n    $count = count($data);\n    for ($i = 0; $i &lt; $count; $i++) {\n        $result[$i] = (int)$data[$i];\n    }\n    \n    return $result;\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-150\">4. API\u3084\u30e9\u30a4\u30d6\u30e9\u30ea\u958b\u767a<\/h4>\n\n\n\n<p>\u516c\u958bAPI\u3084\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u958b\u767a\u3059\u308b\u5834\u5408\u306f\u3001\u53b3\u683c\u306a\u578b\u30c1\u30a7\u30c3\u30af\u3068\u660e\u793a\u7684\u306a\u30a8\u30e9\u30fc\u5831\u544a\u304c\u91cd\u8981\u3067\u3059\u3002<\/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\/\/ API\/\u30e9\u30a4\u30d6\u30e9\u30ea\u958b\u767a\u5411\u3051\u30a2\u30d7\u30ed\u30fc\u30c1\n\/\/ \u5805\u7262\u6027\u3001\u660e\u793a\u7684\u306a\u30a8\u30e9\u30fc\u5831\u544a\u3001\u30e6\u30fc\u30b6\u30d3\u30ea\u30c6\u30a3\u3092\u91cd\u8996\n\n\/**\n * \u6587\u5b57\u5217\u304b\u3089\u6574\u6570\u3078\u306e\u5909\u63db\u3092\u884c\u3046\u30af\u30e9\u30b9\n *\/\nclass NumberConverter {\n    \/**\n     * \u6587\u5b57\u5217\u3092\u6574\u6570\u306b\u5909\u63db\n     *\n     * @param mixed $value \u5909\u63db\u3059\u308b\u5024\n     * @param array $options \u30aa\u30d7\u30b7\u30e7\u30f3\n     * @return int \u5909\u63db\u3055\u308c\u305f\u6574\u6570\n     * @throws InvalidArgumentException \u7121\u52b9\u306a\u5165\u529b\u306e\u5834\u5408\n     *\/\n    public static function toInt($value, array $options = []): int {\n        $strict = $options['strict'] ?? false;\n        $min = $options['min'] ?? null;\n        $max = $options['max'] ?? null;\n        \n        \/\/ null \u30c1\u30a7\u30c3\u30af\n        if ($value === null) {\n            if ($strict) {\n                throw new InvalidArgumentException(\"\u5024\u304cnull\u3067\u3059\");\n            }\n            return $options['default'] ?? 0;\n        }\n        \n        \/\/ \u6570\u5024\u30c1\u30a7\u30c3\u30af\n        if (!is_numeric($value)) {\n            if ($strict) {\n                throw new InvalidArgumentException(sprintf(\n                    \"\u5024 '%s' (%s) \u306f\u6570\u5024\u3067\u306f\u3042\u308a\u307e\u305b\u3093\",\n                    $value,\n                    gettype($value)\n                ));\n            }\n            return $options['default'] ?? 0;\n        }\n        \n        \/\/ \u6574\u6570\u5909\u63db\n        $result = (int)$value;\n        \n        \/\/ \u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\n        if ($min !== null &amp;&amp; $result &lt; $min) {\n            if ($strict) {\n                throw new InvalidArgumentException(sprintf(\n                    \"\u5024 %d \u306f\u6700\u5c0f\u5024 %d \u672a\u6e80\u3067\u3059\",\n                    $result,\n                    $min\n                ));\n            }\n            return $min;\n        }\n        \n        if ($max !== null &amp;&amp; $result &gt; $max) {\n            if ($strict) {\n                throw new InvalidArgumentException(sprintf(\n                    \"\u5024 %d \u306f\u6700\u5927\u5024 %d \u3092\u8d85\u3048\u3066\u3044\u307e\u3059\",\n                    $result,\n                    $max\n                ));\n            }\n            return $max;\n        }\n        \n        return $result;\n    }\n    \n    \/\/ \u4ed6\u306e\u30e1\u30bd\u30c3\u30c9...\n}\n\n\/\/ \u4f7f\u7528\u4f8b\ntry {\n    $id = NumberConverter::toInt($input, [\n        'strict' =&gt; true,\n        'min' =&gt; 1\n    ]);\n} catch (InvalidArgumentException $e) {\n    \/\/ \u30a8\u30e9\u30fc\u51e6\u7406\n    echo \"\u30a8\u30e9\u30fc: \" . $e-&gt;getMessage();\n}\n?&gt;\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-151\">5. \u30ec\u30ac\u30b7\u30fc\u30b7\u30b9\u30c6\u30e0\u306e\u4fdd\u5b88\u30fb\u62e1\u5f35<\/h4>\n\n\n\n<p>\u65e2\u5b58\u306e\u30ec\u30ac\u30b7\u30fc\u30b7\u30b9\u30c6\u30e0\u3092\u4fdd\u5b88\u30fb\u62e1\u5f35\u3059\u308b\u5834\u5408\u306f\u3001\u4e92\u63db\u6027\u3092\u7dad\u6301\u3057\u306a\u304c\u3089\u5f90\u3005\u306b\u6539\u5584\u3059\u308b\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002<\/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\/\/ \u30ec\u30ac\u30b7\u30fc\u30b7\u30b9\u30c6\u30e0\u4fdd\u5b88\u30fb\u62e1\u5f35\u5411\u3051\u30a2\u30d7\u30ed\u30fc\u30c1\n\/\/ \u4e92\u63db\u6027\u3092\u7dad\u6301\u3057\u306a\u304c\u3089\u6bb5\u968e\u7684\u306b\u6539\u5584\n\n\/\/ \u65e2\u5b58\u306e\u95a2\u6570\u3092\u30e9\u30c3\u30d7\u3057\u3066\u62e1\u5f35\n\/\/ \u53e4\u3044\u95a2\u6570\u306e\u540d\u524d\u3068\u4e92\u63db\u6027\u3092\u4fdd\u3061\u3064\u3064\u3001\u5185\u90e8\u3067\u6539\u826f\nfunction get_int_value($value) {\n    \/\/ \u5143\u306e\u95a2\u6570\u306e\u6319\u52d5\u3092\u7dad\u6301\n    $result = (int)$value;\n    \n    \/\/ \u30ed\u30b0\u62e1\u5f35\uff08\u554f\u984c\u3092\u7279\u5b9a\u3059\u308b\u305f\u3081\uff09\n    if (!is_numeric($value) &amp;&amp; $value !== '' &amp;&amp; $value !== null) {\n        error_log(sprintf(\n            \"\u8b66\u544a: \u975e\u6570\u5024\u306e\u5909\u63db\u8a66\u884c '%s' (%s) in %s:%d\",\n            $value,\n            gettype($value),\n            debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]['file'] ?? 'unknown',\n            debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]['line'] ?? 0\n        ));\n    }\n    \n    return $result;\n}\n\n\/\/ \u65b0\u3057\u3044\u30b3\u30fc\u30c9\u3067\u306f\u3088\u308a\u5b89\u5168\u306a\u95a2\u6570\u3092\u5c0e\u5165\nfunction safe_int($value, $default = 0) {\n    return is_numeric($value) ? (int)$value : $default;\n}\n\n\/\/ \u30ec\u30ac\u30b7\u30fc\u30b3\u30fc\u30c9\u3068\u65b0\u30b3\u30fc\u30c9\u306e\u6a4b\u6e21\u3057\nclass LegacyBridge {\n    \/\/ \u65b0\u3057\u3044\u30b3\u30fc\u30c9\u3067\u4f7f\u3048\u308b\u5b89\u5168\u306a\u5909\u63db\u95a2\u6570\n    public static function toInt($value, $options = []) {\n        $default = $options['default'] ?? 0;\n        \n        \/\/ \u30ec\u30ac\u30b7\u30fc\u95a2\u6570\u3092\u547c\u3073\u51fa\u3059\u304c\u3001\u5b89\u5168\u306b\u7d50\u679c\u3092\u51e6\u7406\n        if (function_exists('legacy_convert_to_int')) {\n            $result = legacy_convert_to_int($value);\n            \/\/ \u7d50\u679c\u306e\u691c\u8a3c\n            if (!is_numeric($result)) {\n                error_log(\"\u30ec\u30ac\u30b7\u30fc\u5909\u63db\u95a2\u6570\u306e\u4e0d\u6b63\u306a\u7d50\u679c\");\n                return $default;\n            }\n            return (int)$result;\n        }\n        \n        \/\/ \u30ec\u30ac\u30b7\u30fc\u95a2\u6570\u304c\u306a\u3044\u5834\u5408\u306f\u65b0\u3057\u3044\u5b9f\u88c5\n        return is_numeric($value) ? (int)$value : $default;\n    }\n}\n?&gt;\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-152\">\u5909\u63db\u6226\u7565\u9078\u629e\u306e\u305f\u3081\u306e\u610f\u601d\u6c7a\u5b9a\u30d5\u30ed\u30fc<\/h3>\n\n\n\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u6700\u9069\u306a\u5909\u63db\u6226\u7565\u3092\u9078\u629e\u3059\u308b\u305f\u3081\u306e\u610f\u601d\u6c7a\u5b9a\u30d5\u30ed\u30fc\u3092\u4ee5\u4e0b\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306e\u7279\u5b9a<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u30b7\u30f3\u30d7\u30eb\u306a\u4e00\u6642\u7684\u306a\u5909\u63db\u304c\u5fc5\u8981\u306a\u5834\u5408 \u2192 \u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50 <code>(int)<\/code>, <code>(float)<\/code> \u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u7279\u5b9a\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u304b\u3089\u5909\u63db\u304c\u5fc5\u8981\u306a\u5834\u5408 \u2192 \u4e8b\u524d\u51e6\u7406 + \u30ad\u30e3\u30b9\u30c8\uff08\u4f8b: <code>(float)str_replace(',', '', $value)<\/code>\uff09<\/li>\n\n\n\n<li>\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3082\u540c\u6642\u306b\u5fc5\u8981\u306a\u5834\u5408 \u2192 <code>filter_var()<\/code> \u307e\u305f\u306f \u30ab\u30b9\u30bf\u30e0\u95a2\u6570\u3092\u4f7f\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30a8\u30e9\u30fc\u51e6\u7406\u306e\u91cd\u8981\u5ea6<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u30a8\u30e9\u30fc\u3092\u7121\u8996\u307e\u305f\u306f\u5358\u7d14\u5316\u3057\u305f\u3044\u5834\u5408 \u2192 \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u63d0\u4f9b\u3059\u308b\u5358\u7d14\u5909\u63db\uff08\u4f8b: <code>(int)$value ?: 0<\/code>\uff09<\/li>\n\n\n\n<li>\u8a73\u7d30\u306a\u30a8\u30e9\u30fc\u60c5\u5831\u304c\u5fc5\u8981\u306a\u5834\u5408 \u2192 \u4f8b\u5916\u30d9\u30fc\u30b9\u306e\u5909\u63db\u95a2\u6570\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u30ed\u30ae\u30f3\u30b0\u304c\u5fc5\u8981\u306a\u5834\u5408 \u2192 \u30ed\u30ac\u30fc\u9023\u643a\u6a5f\u80fd\u3092\u6301\u3064\u5909\u63db\u30af\u30e9\u30b9\u3092\u4f7f\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8981\u4ef6<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6700\u9ad8\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u5fc5\u8981\u306a\u5834\u5408 \u2192 \u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50 + \u4e8b\u524d\u578b\u30c1\u30a7\u30c3\u30af\uff08\u5fc5\u8981\u306a\u5834\u5408\u306e\u307f\uff09<\/li>\n\n\n\n<li>\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u3092\u51e6\u7406\u3059\u308b\u5834\u5408 \u2192 \u30d0\u30c3\u30c1\u51e6\u7406\u3084\u6700\u9069\u5316\u3055\u308c\u305f\u30eb\u30fc\u30d7\u3092\u4f7f\u7528<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u898f\u6a21\u3068\u8907\u96d1\u6027<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5c0f\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u2192 \u30b7\u30f3\u30d7\u30eb\u306a\u95a2\u6570\u30d9\u30fc\u30b9\u306e\u30a2\u30d7\u30ed\u30fc\u30c1<\/li>\n\n\n\n<li>\u4e2d\u301c\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 \u2192 \u578b\u5909\u63db\u30b5\u30fc\u30d3\u30b9\u30af\u30e9\u30b9\u3068DI\u306e\u6d3b\u7528<\/li>\n\n\n\n<li>\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 \u2192 \u5305\u62ec\u7684\u306a\u578b\u30b7\u30b9\u30c6\u30e0\u3068\u30ed\u30ae\u30f3\u30b0\u9023\u643a<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>PHP\u30d0\u30fc\u30b8\u30e7\u30f3\u5bfe\u5fdc<\/strong>\n<ul class=\"wp-block-list\">\n<li>PHP 7.x\u306e\u307f \u2192 \u57fa\u672c\u7684\u306a\u578b\u5909\u63db\uff0b\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u578b\u5ba3\u8a00<\/li>\n\n\n\n<li>PHP 8.x\u306e\u307f \u2192 \u53b3\u683c\u306a\u578b\u5ba3\u8a00\u3068Union Types\u306e\u6d3b\u7528<\/li>\n\n\n\n<li>PHP 7.x &amp; 8.x\u4e21\u5bfe\u5fdc \u2192 \u30d0\u30fc\u30b8\u30e7\u30f3\u691c\u51fa\u30b3\u30fc\u30c9\u3068\u4e92\u63db\u6027\u30ec\u30a4\u30e4\u30fc\u306e\u5c0e\u5165<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u4ee5\u4e0a\u306e\u30d5\u30ed\u30fc\u306b\u5f93\u3063\u3066\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3054\u3068\u306b\u6700\u9069\u306a\u5909\u63db\u6226\u7565\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-153\">\u6700\u7d42\u7684\u306a\u63a8\u5968\u4e8b\u9805<\/h3>\n\n\n\n<p>PHP \u306b\u304a\u3051\u308b\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u76f8\u4e92\u5909\u63db\u306b\u95a2\u3059\u308b\u6700\u7d42\u7684\u306a\u63a8\u5968\u4e8b\u9805\u3092\u307e\u3068\u3081\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30b7\u30f3\u30d7\u30eb\u3055\u3092\u91cd\u8996<\/strong> \u2013 \u8907\u96d1\u306a\u5909\u63db\u30ed\u30b8\u30c3\u30af\u306f\u3001\u305d\u308c\u304c\u5fc5\u8981\u306a\u5834\u5408\u306b\u306e\u307f\u5c0e\u5165\u3059\u308b\u3002\u57fa\u672c\u7684\u306b\u306f\u6700\u3082\u30b7\u30f3\u30d7\u30eb\u3067\u9ad8\u901f\u306a\u65b9\u6cd5\uff08\u30ad\u30e3\u30b9\u30c8\u6f14\u7b97\u5b50\uff09\u3092\u4f7f\u7528\u3059\u308b\u3002<\/li>\n\n\n\n<li><strong>\u578b\u5b89\u5168\u6027\u3092\u78ba\u4fdd<\/strong> \u2013 \u7279\u306b\u5916\u90e8\u5165\u529b\uff08\u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3001API\u30ec\u30b9\u30dd\u30f3\u30b9\u3001\u30d5\u30a1\u30a4\u30eb\u5165\u529b\u306a\u3069\uff09\u306e\u51e6\u7406\u3067\u306f\u3001\u5e38\u306b\u9069\u5207\u306a\u691c\u8a3c\u3068\u578b\u5909\u63db\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3002<\/li>\n\n\n\n<li><strong>\u4e00\u8cab\u6027\u3092\u7dad\u6301<\/strong> \u2013 \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3067\u4e00\u8cab\u3057\u305f\u5909\u63db\u65b9\u6cd5\u3092\u4f7f\u7528\u3057\u3001\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u5168\u4f53\u3067\u306e\u7406\u89e3\u3068\u4fdd\u5b88\u3092\u5bb9\u6613\u306b\u3059\u308b\u3002<\/li>\n\n\n\n<li><strong>\u30a8\u30e9\u30fc\u3092\u660e\u793a\u7684\u306b\u51e6\u7406<\/strong> \u2013 \u5909\u63db\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306e\u6319\u52d5\u3092\u660e\u793a\u7684\u306b\u5b9a\u7fa9\u3057\u3001\u4e88\u671f\u305b\u306c\u52d5\u4f5c\u3092\u9632\u6b62\u3059\u308b\u3002<\/li>\n\n\n\n<li><strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u8003\u616e<\/strong> \u2013 \u7279\u306b\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u51e6\u7406\u3067\u306f\u3001\u6700\u9069\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u767a\u63ee\u3059\u308b\u5909\u63db\u65b9\u6cd5\u3092\u9078\u629e\u3059\u308b\u3002<\/li>\n\n\n\n<li><strong>\u4e92\u63db\u6027\u3092\u610f\u8b58<\/strong> \u2013 \u7570\u306a\u308bPHP\u30d0\u30fc\u30b8\u30e7\u30f3\u3084\u74b0\u5883\u3067\u306e\u6319\u52d5\u306e\u9055\u3044\u3092\u7406\u89e3\u3057\u3001\u9069\u5207\u306b\u5bfe\u5fdc\u3059\u308b\u3002<\/li>\n\n\n\n<li><strong>\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u306b\u5408\u308f\u305b\u308b<\/strong> \u2013 \u6570\u5024\u306e\u610f\u5473\u3084\u7528\u9014\uff08\u91d1\u984d\u3001ID\u3001\u6570\u91cf\u306a\u3069\uff09\u306b\u5408\u308f\u305b\u3066\u3001\u9069\u5207\u306a\u5909\u63db\u3068\u691c\u8a3c\u30ed\u30b8\u30c3\u30af\u3092\u5b9f\u88c5\u3059\u308b\u3002<\/li>\n\n\n\n<li><strong>\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316\u3068\u5171\u6709<\/strong> \u2013 \u63a1\u7528\u3057\u305f\u5909\u63db\u6226\u7565\u3092\u6587\u66f8\u5316\u3057\u3001\u30c1\u30fc\u30e0\u5168\u4f53\u3067\u5171\u6709\u3059\u308b\u3053\u3068\u3067\u4e00\u8cab\u6027\u3092\u78ba\u4fdd\u3059\u308b\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u6587\u5b57\u5217\u3068\u6570\u5024\u306e\u76f8\u4e92\u5909\u63db\u306f\u3001PHP\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u57fa\u672c\u7684\u304b\u3064\u91cd\u8981\u306a\u90e8\u5206\u3067\u3059\u3002\u9069\u5207\u306a\u5909\u63db\u65b9\u6cd5\u3092\u7406\u89e3\u3057\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8981\u4ef6\u306b\u5408\u308f\u305b\u3066\u6700\u9069\u306a\u6226\u7565\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u5805\u7262\u3067\u4fdd\u5b88\u6027\u306e\u9ad8\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u672c\u8a18\u4e8b\u304c\u3001\u7686\u69d8\u306ePHP\u958b\u767a\u306e\u304a\u5f79\u306b\u7acb\u3066\u3070\u5e78\u3044\u3067\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,63],"tags":[],"class_list":{"0":"post-3713","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-php","7":"category-php-syntax","8":"nothumb"},"_links":{"self":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3713","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=3713"}],"version-history":[{"count":1,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3713\/revisions"}],"predecessor-version":[{"id":3714,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3713\/revisions\/3714"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}