sprintf(특정 형식, 특정 형식에 포함된 데이터_1, 특정 형식에 포함된 데이터_2, 특정 형식에 포함된 데이터_...)
/*
 * 템플릿처럼 형식화할 문자열: "XX에는 XX권의 책이 있습니다."
*/

$txt = sprintf('%s에는 %u권의 책이 있습니다.', '도서관', 15);
// %s는 문자열 형식 => '도서관'
// %u는 10진수 형식 => 15
// 매개변수의 순서대로 각각 매칭됩니다.

echo $txt; // 특정 형식으로 생성된 문자열 반환
// '도서관에는 15권의 책이 있습니다.'
sprintf(string $format, mixed ...$values): string
형식화할 문자열 예
// 데이터 배열
$items = [
    ['quantity' => 10, 'city' => '서울'],
    ['quantity' => 5, 'city' => '부산'],
    ['quantity' => 12, 'city' => '인천']
];

// 템플릿 문자열 정의
$template = '%s 도서관에는 %u권의 책이 있습니다.';

// 배열의 각 항목을 형식화하여 출력
foreach ($items as $item) {
    $formatted_string = sprintf($template, $item['city'], $item['quantity']);
    echo $formatted_string;
}
// 결과:
// '서울 도서관에는 10권의 책이 있습니다.'
// '부산 도서관에는 5권의 책이 있습니다.'
// '인천 도서관에는 12권의 책이 있습니다.'
// 데이터 배열
$books = [
    ['title' => 'PHP 프로그래밍', 'author' => '김철수', 'copies' => 3],
    ['title' => 'JavaScript 고급', 'author' => '이영희', 'copies' => 5],
    ['title' => '데이터베이스 설계', 'author' => '박지훈', 'copies' => 2]
];

// 템플릿 문자열 정의
$template = '도서 제목: %s, 저자: %s, 남은 수량: %u권';

// 배열의 각 항목을 형식화하여 출력
foreach ($books as $book) {
    $formattedString = sprintf($template, $book['title'], $book['author'], $book['copies']);
    echo $formattedString;
}

// 결과:
// 도서 제목: PHP 프로그래밍, 저자: 김철수, 남은 수량: 3권
// 도서 제목: JavaScript 고급, 저자: 이영희, 남은 수량: 5권
// 도서 제목: 데이터베이스 설계, 저자: 박지훈, 남은 수량: 2권
// JSON 데이터
$jsonData = '{
    "name": "김철수",
    "age": 30,
    "city": "서울"
}';

// JSON 데이터를 배열로 변환
$user = json_decode($jsonData, true);

// 형식화된 문자열 생성
$formattedString = sprintf('이름: %s, 나이: %u, 도시: %s', $user['name'], $user['age'], $user['city']);

echo $formattedString;
// 결과: 이름: 김철수, 나이: 30, 도시: 서울
// 다국어 번역 템플릿
$templates = [
    'en' => 'Hello %s, welcome to %s!',
    'ko' => '%s님, %s에 오신 것을 환영합니다!'
];

// 다국어 국가 이름
$countries = [
    'en' => 'South Korea',
    'ko' => '한국'
];

// 사용자 데이터
$name = 'Alice';

// 언어 설정(예: 영어와 한글)
$language = 'ko';  // 'en' 또는 'ko'

// 선택된 언어의 템플릿과 국가명을 사용해 형식화된 문자열 생성
$welcomeMessage = sprintf($templates[$language], $name, $countries[$language]);

echo $welcomeMessage;

// 결과 (ko): Alice님, 한국에 오신 것을 환영합니다!
// 결과 (en): Hello Alice, welcome to South