---
id: php-string-functions
title: "PHP String Functions"
category: "Programming_Language"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["strlen", "strpos", "str_contains", "PHP 문자열 함수"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.9
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["php", "programming", "w3schools", "strings", "functions"]
raw_sources: ["https://www.w3schools.com/php/php_string_functions.asp"]
applied_in: []
github_commit: ""
---

# [[PHP String Functions]]

## 🎯 한 줄 통찰 (One-line insight)
`str_contains()`, `str_starts_with()`, and `str_ends_with()` are ALL PHP 8.0+ only — the source explicitly flags this version dependency for each, meaning code targeting older PHP must fall back to `strpos()` for containment checks, a compatibility gap worth checking before using these convenience functions. [S1]

## 🧠 핵심 개념 (Core concepts)
- **`strlen()`** — returns string length. [S1]
- **`str_word_count()`** — counts words in a string. [S1]
- **`str_contains()`** (PHP 8.0+) — boolean substring check, case-sensitive. [S1]
- **`strpos()`** — returns the position of the first match, or `false` if not found; case-sensitive; index starts at 0. [S1]
- **`str_starts_with()`** / **`str_ends_with()`** (PHP 8.0+) — boolean prefix/suffix checks, case-sensitive. [S1]

## 📖 세부 내용 (Details)
- Length: `echo strlen("Hello world!");`. [S1]
- Word count: `echo str_word_count("Hello world!");`. [S1]
- Contains (case-sensitive): `$txt = "I really love PHP!"; var_dump(str_contains($txt, "love")); // true; var_dump(str_contains($txt, "Love")); // false`. [S1]
- Position search: `echo strpos("Hello world!", "world"); // 6`. [S1]
- Starts/ends with (case-sensitive): `var_dump(str_starts_with($txt, "I really")); // true; var_dump(str_starts_with($txt, "i really")); // false`. [S1]

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
- **PHP 8.0 이상 전용 함수**: str_contains/str_starts_with/str_ends_with 모두 PHP 8.0부터 사용 가능하며, 구버전에서는 strpos()로 대체해야 함이 각각 명시됨. [S1]

## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 문자열 포함 여부 검사가 사용자 입력 검증 등에서 자주 쓰이는 실전 패턴이다. [S1]

## 💻 코드 패턴 (Code patterns)
Case-sensitive substring check (PHP 8.0+):
```php
$txt = "I really love PHP!";
var_dump(str_contains($txt, "love")); // true
var_dump(str_contains($txt, "Love")); // false (case-sensitive)
```

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.90
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[PHP Tutorial]]
- **관련 개념:** [[PHP Strings]], [[PHP String Modify]], [[PHP String Slicing]]
- **참조 맥락:** 문자열 검색/검사 함수 — 문자열 변형(Modify) 챕터로 이어짐.

## 📚 출처 (Sources)
- [S1] W3Schools — PHP String Functions — https://www.w3schools.com/php/php_string_functions.asp

## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "PHP String Functions" page (Astra wiki-curation, P-Reinforce v3.1 format).
