開発情報・ナレッジ

投稿者: SPIRERS ナレッジ向上チーム 2022年10月4日 (火)

getAuthRecordByFieldId で取得したセレクト/マルチセレクトの値を配列に分解するサンプルプログラム

getAuthRecordByFieldId でセレクト/マルチセレクトの値を取得するとテキスト形式で返ってきます。
テキスト形式で返ってきた値を配列に分解するサンプルプログラムを作成しました。
PHPで認証値のセレクト/マルチセレクトを使って処理を行いたい方は、ぜひ参考にしてみてください。

注意点

(), の記号をラベル名に使用している場合、正しく動作いたしません。
こちらのサンプルプログラムを使用する際は、ラベル名に記号を使用しないようお願いします。

サンプルプログラム

PHP
<?php
selectArrayReplacement($SPIRAL->getAuthRecordByFieldId("フィールドIDを設定"));

function selectArrayReplacement($selectTxt){
    preg_match_all('/(?<=\().*?(?=\))/',  $selectTxt, $tempSelectArray);
    foreach($tempSelectArray[0] as $key){
        preg_match('/(.*)(?=\,)/', strval($key), $selectId);
        preg_match('/(?<=\,)(.*)/', strval($key), $label);
        $selectArray[] = $selectId[0];
    }    
    return $selectArray;
}
分解後の配列
セレクト
Array ( [セレクトID] => ラベル名 )
マルチセレクト
Array ( [セレクトID] => ラベル名 [セレクトID] => ラベル名 [セレクトID] => ラベル名 ...... )

最後に

設定後は動作確認を必ず行い、動作に問題がないか確認をしてください。
不具合やほかのやり方が知りたい等あれば、下記の「コンテンツに関しての要望はこちら」からご連絡ください。

解決しない場合はこちら コンテンツに関しての
要望はこちら