পিএইচপি বিভক্ত বিকল্প?


92

পিএইচপি আমাকে বলছে যে বিভাজন অবমূল্যায়ন করা হয়েছে, আমার বিকল্প পদ্ধতিটি কী ব্যবহার করা উচিত?

উত্তর:


131

explodeএকটি বিকল্প। যাইহোক, যদি আপনি একটি নিয়মিত প্রকাশের মাধ্যমে বিভক্ত করতে চেয়েছিলেন তবে বিকল্পটি তার preg_splitপরিবর্তে।


15
আমি একমত নই - explodeবিকল্প নয়, যেহেতু এটি একই ফাংশনটি সম্পাদন করে না split, এটি: একটি নিয়মিত প্রকাশের মাধ্যমে একটি স্ট্রিংকে বিভক্ত করা । এই উদ্দেশ্যে, ব্যবহার করুন preg_split
নিকফ

4
@ নিকফ: এটি যথাযথভাবে নির্দেশিত, আমার প্রাথমিকভাবে এটি যুক্ত করা উচিত ছিল। ধন্যবাদ
সরফরাজ

বিভিন্ন ভাষায়, splitপদ্ধতিটি সর্বদা নিয়মিত ভাব প্রকাশ করে না। । নেট, পাইথন-এ String.Split()/ str.split()পদ্ধতিগুলি কেবল একটি স্থির, আক্ষরিক স্ট্রিংটিকে সুই হিসাবে গ্রহণ করে। সুতরাং, explodeসঠিক। জাভা, জাভাস্ক্রিপ্ট, রুবি থেকে আগতদের preg_splitজন্য সমাধানটি চালু হতে পারে।
উইক্টর স্ট্রিবিউ

এটি ভিজ্যুয়াল বেসিক। নেট এর স্ট্রিং.স্প্লিট () এর সাথে সামঞ্জস্যপূর্ণ। সুন্দর
মোঃ আশরাফুল ইসলাম

22

splitঅবহিত করা হয়েছে যেহেতু এটি ফাংশনগুলির পরিবারের অংশ যা POSIX নিয়মিত এক্সপ্রেশন ব্যবহার করে; পুরো পরিবার পিসিআরই ( preg_*) ফাংশনগুলির পক্ষে স্বীকৃত ।

আপনার যদি নিয়মিত এক্সপ্রেশন কার্যকারিতা প্রয়োজন না হয় তবে explodeএটি একটি খুব ভাল পছন্দ (এবং splitযদি এটি হ্রাস না করা হয়েও যায় তবে এটি সুপারিশ করা হত), অন্যদিকে আপনার যদি নিয়মিত প্রকাশের প্রয়োজন হয় তবে পিসিআরআই বিকল্পটি সহজভাবে হয় preg_split


16
  • preg_split আপনার যদি নিয়মিত প্রকাশের মাধ্যমে বিভক্ত হওয়া প্রয়োজন।
  • str_split আপনি যদি অক্ষর দ্বারা বিভক্ত করা প্রয়োজন।
  • explode আপনার যদি সহজ কিছু দ্বারা বিভক্ত করা প্রয়োজন।

ভবিষ্যতের জন্যও, যদি আপনি কখনই জানতে চান যে পিএইচপি আপনি কী ব্যবহার করতে চান তবে যদি কিছু হ্রাস পায় তবে আপনি সর্বদা ম্যানুয়ালটিতে ফাংশনটি পরীক্ষা করে দেখতে পারেন এবং এটি আপনাকে বিকল্পগুলি বলবে।


7

আমি এখানে পরিষ্কার করতে চাই যা preg_split();এটি থেকে অনেক দূরে তবে explode();একইভাবে ব্যবহার করা যেতে পারেsplit();

নিম্নলিখিত split();এবং explode();ব্যবহারের মধ্যে তুলনা করা হয়

বিভক্ত () কীভাবে ব্যবহৃত হয়েছিল

<?php

$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo $month; // foo
echo $day; // *
echo $year;

?>

ইউআরএল: http://php.net/manual/en/function.split.php

কীভাবে বিস্ফোরিত () ব্যবহার করা যায়

<?php

$data = "04/30/1973";
list($month, $day, $year) = explode("/", $data);
echo $month; // foo
echo $day; // *
echo $year;

?>

ইউআরএল: http://php.net/manual/en/function.explode.php

এখানে আমরা এটি ব্যবহার করতে পারি কীভাবে :)


2

পরিবর্তে আপনি সহজ ফাংশন ব্যবহার করতে পারেন preg_match, এটি অন্যগুলির চেয়ে ভাল এবং দ্রুত।

$var = "<tag>Get this var</tag>";
preg_match("/<tag>(.*)<\/tag>/", $var , $new_var);
echo $new_var['1']; 

আউটপুট: Get this var



0

আপনি যদি একটি স্ট্রিংকে শব্দগুলিতে বিভক্ত করতে চান তবে আপনি বিস্ফোরিত () বা str_word_count () ব্যবহার করতে পারেন।


0

একই সমস্যা ছিল, তবে আমার কোডটি অবশ্যই পিএইচপি 5 এবং পিএইচপি 7 উভয় ক্ষেত্রেই কাজ করবে ...

এখানে আমার কোডের টুকরোটি রয়েছে যা এটি সমাধান করেছে .. "ডাব্লায়ওয়্যার ফর্ম্যাটে একটি তারিখ ইনপুট করুন" /। - "

<?php
function DateToEN($date){
  if ($date!=""){
    list($d, $m, $y) = function_exists("split") ?  split("[/.-]", $date) : preg_split("/[\/\.\-]+/", $date);
    return $y."-".$m."-".$d;
  }else{
    return false;
  }
}
?>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.