donglang9880 2018-01-12 22:03
浏览 22
已采纳

php将字符串1 | * | 3 | * | 150转换为另一种格式[“1”,“3”,“150”]

I have a php code to read multiselect values from database. the value maybe a single string like 1 or 2 or ... etc . or maybe a multi as 1|*|3|*|150 . I want a php code to check value if single , so it remain single. but if multi as 1|*|3|*|150 so it convert to ["1","3","150"] How can I do that / thank you

  • 写回答

1条回答 默认 最新

  • douzhuan4406 2018-01-12 22:20
    关注

    It's just explode. explode can use a delimiter consisting of multiple characters.

    Your string looks fancier than just comma-separated values, but the delimiter appears to be consistent, so

    $array = explode('|*|', $string);
    

    should work just fine.


    It seems I misunderstood the question initially, and you don't want an array as the result, you want a sort of string representation of an array. In that case, you can just str_replace the delimiter instead of using explode.

    $string = '["' . str_replace('|*|', '","', $string) . '"]';
    

    Some unsolicited advice, for you or anyone else who reads this later: In general this is not how I would recommend storing multiple associated values in a database. See this great answer for some compelling reasons not to do this:

    Is storing a delimited list in a database column really that bad? (Spoiler alert: Yes.)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线