亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從數組值替換字符串中的某些字符

從數組值替換字符串中的某些字符

PHP
慕工程0101907 2021-05-06 13:20:25
我有一個數組:$arr = [5, "David"];我有一個查詢:$query = "SELECT * FROM users WHERE user_id = ? AND user_name = ?";我想創建一個記錄器查詢,該查詢使用這2個查詢并手動返回查詢。logger($query, $arr); // returns : SELECT * FROM users WHERE user_id = 5 AND user_name = 'David'我正在使用雄辯的膠囊管理器。我試圖做這樣的事情,但它并不能代替任何東西:function logger($query, $arr) {    foreach($arr as $a) {        is_numeric($a) ? str_replace("?",$a,$query) : str_replace("?","'".$a."'",$query);    }    return $query;}為什么此代碼不起作用?
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

我通過使用str_replace_first并將值輔助為變量來了解如何做到這一點。


        foreach($params as $a) {

            $query = is_numeric($a) ? str_replace_first("?",$a,$query,1) : str_replace_first("?","'".$a."'",$query);

        }

        return $query;

str_replace_first :


function str_replace_first($search_for, $replace_with, $in) {

  $pos = strpos($in, $search_for);

  if($pos === false) {

    return $in;

  } else {

    return substr($in, 0, $pos) . $replace_with . substr($in, $pos + strlen($search_for), strlen($in));

  }

}


查看完整回答
反對 回復 2021-05-28
  • 2 回答
  • 0 關注
  • 175 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號