Კომპიუტერები, Პროგრამირების
PHP პრაქტიკა: string შედარება
PHP ორიენტირებულია კარგი ინფორმაცია გატარება. სინტაქსი ენის წარმოდგენილია სრულად ფუნქციური კომპლექტი შედარებით ფუნქციები, სიმებიანი დამუშავება შედარების ოპერატორები.
ნებისმიერი ალგორითმი - თანმიმდევრობა არჩევანი და ქმედებები. მაგრამ, სანამ გააკეთოს არჩევანი, თქვენ უნდა რაღაც შედარება რაღაც. Line - ყველაზე ტევადი, ეფექტური და პრაქტიკული ალგორითმი კონტროლის მექანიზმი. Line - ვარიანტი მონაცემების პრეზენტაცია. მონაცემები - ეს არის ძირითადი თემა "ზრუნვა" ნებისმიერი ალგორითმი.
ჩვეულებრივი ლოგიკა "შედარებით-აქცია"
ზოგადად, დინამიური აკრეფით ენა არ არსებობს განსხვავებები მონაცემები, როგორიცაა PHP შედარებით ხაზი და ნომერი დიდად არ განსხვავდება. ნომერი - ეს არის ასევე string, როდესაც იგი შეიცავს მხოლოდ ციფრები, წერტილი და არ არის ერთჯერადი ხასიათი, რომელიც არ გამოიყენება წარმოადგენს ნომრები ნებისმიერი ფორმით (მათემატიკის ნოტაცია).
თუ kontenkatsii ნომერი ავტომატურად უერთდება ხაზი, არ დასმულ კითხვებზე და არსებობს ფარული შეცდომები, თუნდაც gettype () ფუნქცია იძლევა "რიცხვი" ან "ორმაგი".
თუმცა, არ არის განსხვავება გამოყენებით is_int () და is_numeric (). პირველი აძლევს სიმართლე, მხოლოდ მაშინ, როცა პარამეტრი არის მთელი რიცხვი, მეორე, როდესაც ნებისმიერი რაოდენობის და რიცხვითი string (ცვლადი ტიპის "string", მაგრამ მოიცავს ყველა იმ პირობით, მათემატიკის ნოტაცია).
ეს არის მარტივი მაგალითი - კარგი მაგალითი იმისა, თუ როგორ PHP string შედარების ოპერატორები ( "== '' === '...'! = ') შეუძლია წარადგინოს ბევრი სიურპრიზი. ცვლადები შეიძლება შეიცვალოს მათი ტიპის, ისინი არ არიან ყოველთვის ნომრები, მაგრამ თითქმის ყოველთვის ისინი შეიძლება გამოიწვიოს ხაზი. In უკიდურეს შემთხვევაში - ეს იქნება ცარიელი.
ზემოაღნიშნულიდან გამომდინარე, არის PHP string შედარება ფუნქცია ყველაზე პოპულარულია. რა უნდა აირჩიოს, გადაწყვიტოს დეველოპერი. უამრავი პარამეტრები ხელმისაწვდომია მდე რეგულარული გამოსახულებების.
საზღვრები, არსებული ფუნქციური
PHP-შედარება ორი რიგები არის კარგი "ამის გაკეთება" ფუნქცია strpos () - ყველაზე იაფი, ერთგული და პრაქტიკული ვარიანტი. თუ შედეგია ფუნქცია ნომერი, მაშინ აშკარად ერთი string უდრის მეორეში ან ერთი ნაწილი მეორეში.
რადიკალურად საპირისპირო, არამედ აბსოლუტურად სწორი მიდგომა - გამოყენების რეგულარული გამოსახულებების.
თუ ფუნქცია $ cResult = scCheckFileName ($ CSTR) აძლევს "ნამდვილი", მაშინ ხაზი ფაილის სახელი vordovsky. მას მოუწევს მხოლოდ ერთი ვარიანტი გაფართოებას ".docx 'და არ სიმბოლოების სახელი: მხოლოდ ასოები, ციფრები და სიმბოლოები' _ ',' - '.
ფუნქცია შეიძლება ადვილად გარდაიქმნება სხვა სახის ფაილი: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u. ეს ვარიანტი ვრცელდება სპექტრი სკანირების ხაზი downloadable (მაგ, PHP string შედარება მიმართა "ატვირთეთ ფაილი სერვერზე, არ შანსი შეყვანა შეცდომა") for html, js, css, ...
გამოყენება strpos () და preg_match () - უკიდურესი. ისინი უშუალოდ არ არის დაკავშირებული საკითხი შედარებით პერიოდში. მაგრამ კითხვა ალგორითმი - საქმეა გამოყენებით კომბინაცია სტილის გამოყენება ყველა შესაძლებლობა, რათა მივაღწიოთ საიმედო და სწორი შედეგი.
ფუნქციური PHP: string შედარება
Arsenal ენის შედარებით strings - სუფთა, არა მხოლოდ შედარებით ფუნქცია, არამედ კომბინაცია ძებნის ან შემცვლელი პირდაპირ. ყოველთვის არ იმოქმედოს უნდა ემთხვეოდეს შედარებით, მას შემდეგ, რაც ამ უკანასკნელს სულაც არ გამოიწვიოს ცვლილება ნებისმიერ row. ხშირად უნდა აირჩიოს ერთი ან მეორე ფილიალი ალგორითმი.
ჩვეულებრივი ვარიანტი PHP: ასრულებს string შედარება ფუნქცია int strcmp (S1, S2).
შედეგი ფუნქცია:
- 0 - ხაზის თანაბარი
- -1 - პირველი სიმებიანი ნაკლებია, ვიდრე მეორე;
- 1 - პირველი უფრო მეტია, ვიდრე მეორე რიგის.
პრაქტიკაში, ეს იმას ნიშნავს, რომ ნაწილი პირველი რიგის მეორე, რომელიც PHP ფუნქცია (შედარებით რიგები) გადაწყვეტს. უფრო შეზღუდული ვერსია strpos (), რადგან ამ უკანასკნელ შემთხვევაში ეს შესაძლებელია ვიცოდეთ თანამდებობა შესვლის.
strcmp () ფუნქცია - მგრძნობიარე. თუ გსურთ შედარების სიმებიანი insensitive, PHP სთავაზობს strcasecmp (). სინტაქსის მსგავსია.
პრაქტიკაში ხშირად საჭირო მუშაობა არ მთელი ხაზი, მაგრამ მხოლოდ ნაწილი. ამ კომპლექტი ფუნქციები PHP (string შედარებით) შედის strncmp (S1, S2, N). მესამე პარამეტრი განსაზღვრავს შეასრულოს შედარებით მხოლოდ N-bytes. შედეგი ის არის, მსგავსი strcmp ().
მასივები, strings და შედარებით
ეს თითქმის ყოველთვის წარმოდგენილია strings. თუ გავითვალისწინებთ, კოლექტორები, ობიექტების, და მონაცემთა სტრუქტურები, უბრალოდ სხვადასხვა ვარიანტები კომბინაციები მარტივი სიმებიანი სტრუქტურებში.
სიმებიანი მასივები და რიგები შეიძლება გათვალისწინებული დამატებითი გზით. ტრანსფორმაცია მასივი სიმებიანი ფუნქცია implode (მასივი, სიმბოლო), მაგალითად: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... ალგორითმი / user ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) საშუალებას გაძლევთ შერწყმა ყველა ობიექტი ათვლა პოზიცია.
ამის შემდეგ შეგიძლიათ შეასრულოს PHP string შედარებით, და დროს: $ გამშვები = strcmp ($ margins1, $ margins2) და დარწმუნდით ალგორითმი ან შესახებ, რომ რაღაც შეიცვალა (თუ არა). თუ თქვენ შეასრულოს შედარებით ჩვეულებრივი გზა, თქვენ უნდა დაალაგოთ მასივი ელემენტები. იგი იღებს უფრო და უფრო რთული.
ობიექტები და ხაზი
კიდევ უფრო სანახაობრივი გამოყენება PHP (string შედარება) შეიძლება განხორციელდეს მეშვეობით ობიექტზე ორიენტირებული იდეები.
თანამედროვე იდეა ობიექტების ვარაუდობს, რომ მათ აქვთ თვისებები და მეთოდები. ყოფილი, როგორც წესი, წარმოდგენილია ნომრები, სიმები, მასივები, და სხვა ობიექტები. ეს უკანასკნელი ხშირად მოიცავს ჩაწერის ტექნიკას (დააყენა) აღდგენა ხაზი და ხაზი (მიიღოს).
განსხვავებით მასივები, ობიექტი აკეთებს მუშაობა საკუთარი თვისებები და ურთიერთქმედებს სხვა ობიექტები. ობიექტი "კომპეტენტური", რომელშიც მისი თვისებები რეალური ღირებულება ალგორითმი პროგრამა, როგორც მთელი.
ამ ეტაპზე საფუძველს იძლევა და შესაძლებლობა, ჩაიწეროს, როცა ჩაწერა სიმებიანი მხოლოდ საჭირო ინფორმაცია და აღდგენა ხაზი აღადგინოს ყველა სამუშაო თვისებები სასურველი სახელმწიფო. როგორც წესი, ნებისმიერი ობიექტი არსებობს არსებითი ინფორმაცია და სამუშაო (დრო). განხორციელების იდეა გაძლევთ საშუალებას შეინახოთ არა მხოლოდ მეხსიერება, დისკზე, მონაცემთა ბაზის ჩანაწერი, მაგრამ ასევე შესაძლებელს ხდის შედარების ხაზები უფრო მარტივი და ზუსტი საშუალებებით.
სინტაქსი და სემანტიკა
PHP დინამიურად ვითარდება და მისი ფუნქცია ორივე თვალსაზრისით შედარებით strings და მუდმივად გაუმჯობესდა, მათი მკურნალობა. თუმცა, არაფერი უშლის დეველოპერი გადაადგილება ცენტრი სიმძიმის სფეროში სემანტიკა.
ეჭვგარეშეა, რომ ფუნქცია არის კარგი, მაგრამ მისი გამოყენება შეიძლება გადაეცეს მნიშვნელობით კოდი ობიექტები. როდესაც ალგორითმი არის წარმოდგენილი როგორც სისტემის ურთიერთქმედების ობიექტები, იგი გამოიყურება ბევრად უკეთესი, ვიდრე თანმიმდევრობით შედარება და ქმედებები პირდაპირ თანმიმდევრობით, კლასიკურ სტილში.
Similar articles
Trending Now