Monday, July 14, 2025

[PHP][jQuery] 如何利用 jQuery 的 inArray 來判斷資料是否存在於陣列中 (類似 PHP in_array 的效果)

在前後端互動的網頁應用中,常見需求是後端 PHP 傳送資料陣列到前端,再由 jQuery 判斷使用者輸入的值是否存在。以下是簡單實作方式。

1. PHP 將陣列轉為 JSON


<?php
$arr_list = array("S0001", "S0002", "S0003");
$json_list = json_encode($arr_list);
?>

<script>
    var erpidArray = <?php echo $json_list; ?>;
</script>

說明: 使用 json_encode() 將 PHP 陣列轉成 JavaScript 可讀的 JSON 格式。如果$arr_list是空陣列也沒關係,因為json_encode會將空陣列轉成[],這對前端來說也是空陣列的意思,在JS的部分不會報錯。

2. jQuery 判斷值是否存在


var userInput = 'S0002';

if ($.inArray(userInput, erpidArray) > -1) {
    alert("存在於陣列中!");
} else {
    alert("不存在於陣列中。");
}

補充: 如果要判斷找不到的情形 可以用 if ($.inArray(userInput, erpidArray) === -1) { 。

No comments:

Post a Comment