Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP – หาตำแหน่งแรกของ Needle ใน Haystack ด้วย iconv_strpos()

ฟังก์ชัน iconv_strpos() ใช้หาตำแหน่งของ needle ที่ปรากฏ **ครั้งแรก** ใน haystack คืนค่าจำนวนอักขระที่อยู่ก่อน needle (character position) ไม่ใช่ byte offset ต่างจาก strpos()

รูปแบบการใช้งาน (Syntax)

int|false iconv_strpos(string $haystack, string $needle, int $offset = 0, string $encoding = null)

พารามิเตอร์

  • $haystack – สตริงหลักที่ต้องการค้นหา
  • $needle – substring ที่ต้องการค้นหา
  • $offset – ตำแหน่งเริ่มต้นค้นหา (optional) หากเป็นลบ จะนับจากท้ายสตริง
  • $encoding – character encoding หากละเว้นหรือ null จะใช้ iconv.internal_encoding

ค่าที่คืนกลับ

คืนตำแหน่งตัวอักษรของ needle ครั้งแรก คืน false หากไม่พบ

หมายเหตุ: ตั้งแต่ PHP 8.0 encoding nullable และ PHP 7.1 รองรับ negative offsets

ตัวอย่าง 1: ค้นหา "hello"

<?php
$int = iconv_strpos("hello world!", "hello", 0, "UTF-8");
var_dump($int);
?>

ผลลัพธ์

int(0)

ตัวอย่าง 2: ค้นหา "world"

<?php
$int = iconv_strpos("hello world!", "world", 0, "UTF-8");
var_dump($int);
?>

ผลลัพธ์

int(6)