Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130194 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 821CA1A00BC for ; Fri, 27 Feb 2026 16:24:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1772209463; bh=+oJPlvqCQB3U117azrEDnyBzQ2x+ixyq5XvWLWbvrhs=; h=Date:Subject:To:References:From:In-Reply-To:From; b=WHBvD1VRwKvVMQo18d6mwastL328EJGY3Q52jpC1BZGniZPm4dUsebsGbAdTP3AAS EkMYDFGz9y0Q7UoSIyh3AWnAkrDU77Vk4wN9lvGLXAymeXnQHIShmm0WNlLkY+g7DW oLdF2tB3WPK9onj2r7rPBHQgWWlE2yNQ9WntRX2Fi2+EVhkS0+cVdFkeSO5+AGAiF/ QhNT8decGfOjchcpc7U2Xcni4d/LCnSpssogTfbSHIFR0mZj7KlotwbiHzFn5cuNJk PUDMO8/ZPX76LwgqB/mEaAhIPffCAuWgbUUaS2CFqTIJE4Kywv33M0q1EvuElx0dqD e+57fR9+siTng== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 62CCB180387 for ; Fri, 27 Feb 2026 16:24:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazolkn19013075.outbound.protection.outlook.com [52.103.51.75]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 27 Feb 2026 16:24:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wGxi3XBQdn6MrGaFc44iFFB40ld/tNlzWbcDDmFcOAd/EZ9sGrRGwWisp7xnW4biuRKX5eEyLfognBYNG6fMYc+/MAGlwT6MTuLf/2+aVsOxJi7bYUyeZqUm7mZ9FpFIGANI2ECxy3JFUGH2XDyKN3dJWB0bNgkw+qXixr7bGkJ5lTD1jVe1JJ5ycn92tMM6RTeI96TJmag0rBNK7jP313ou6GkBScCfv12/zutAfh8/ckDtY58HErxLgw3iZesSBaRu+uOKY1o6A0NBSGfx5PVbl0Sz9eV/Le8jTvE/I7d8EEuabv6IxpkKx+AvdBPyLDYodwI4fGOqV6RZyMQxQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ns3N5uwASP2jJ3U4G166tdCbHssX2b+JF/hmjblDF3c=; b=e6m0G1Xu7PsyBzMCzX93XPklTUmpZVv18gUBbffIxnM6Em26pTamQshG23DbaEMEbvZJADBDVbZ4xElsjCVY0qGw96DMp27thEjE5tM7Ca1xIFxpoDD/pnIFYW+9RICP746rqHaJqmjTXf9fxGGnrWejrs4IN+YiDYj0I2UdTkOzn0eWPF/lHFd4ju/engSOpUXB63jo8a397Dt1mSjiju+OU98n/rg86L0R5YSlNpbmuoyXr+yYNYjSJpVp+Rhy9fIAT5+Zyz9D/1TP4HFLCxdf4qOsMRBJxyBs8CzqpZrMhibI8W4VwglT6dL9ET0FpWfOjkHu/9HNsg2hcPVkkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ns3N5uwASP2jJ3U4G166tdCbHssX2b+JF/hmjblDF3c=; b=RrQcSbjHkjVk6Y3d0qHBMgXio8QB0n+h8pjOH0tuSr5JrQaZIeM6nGs7dBeXVX4KW8VAOZSKBWG2vGv2d3BCuGyOB1G6TxPWOFfywEE5flS08yGIAMVEMKtG6F/ahcD8R51bNREHGAsa13Tij9Su2Rviv1omLYVgsgKhx4wkPRnLetSWP15uD1Cpp7rQM9coPJK3xWoFqOD3RgKvG5xTm7wIehnUgjO/jdIx8wQEOfjT7zhoNA7pvLboSws8awYtdJgYSynnQSKeTHYzDeYnH/VCcs1gUtUF4HCmYWr9rG15UPG2ryRcV2w9i1WA7nNzYQuYQa0WfzIiBrFfqS3XBg== Received: from AM8P250MB0170.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:321::21) by AS1P250MB0555.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4a1::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.16; Fri, 27 Feb 2026 16:24:11 +0000 Received: from AM8P250MB0170.EURP250.PROD.OUTLOOK.COM ([fe80::6d50:e32b:6064:8801]) by AM8P250MB0170.EURP250.PROD.OUTLOOK.COM ([fe80::6d50:e32b:6064:8801%5]) with mapi id 15.20.9654.015; Fri, 27 Feb 2026 16:24:11 +0000 Content-Type: multipart/alternative; boundary="------------p5WEtyIyG9yAblxoJFgf6hjT" Message-ID: Date: Fri, 27 Feb 2026 17:24:09 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] [RFC] [VOTE] Prefix and Suffix Functions To: Barel , PHP internals References: Content-Language: en-US In-Reply-To: X-ClientProxiedBy: FR5P281CA0029.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f1::13) To AM8P250MB0170.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:321::21) X-Microsoft-Original-Message-ID: <2ae7e273-b951-43d1-b929-2fc2a8d72934@hotmail.com> Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM8P250MB0170:EE_|AS1P250MB0555:EE_ X-MS-Office365-Filtering-Correlation-Id: 61911574-0afb-415c-0259-08de761ca36c X-Microsoft-Antispam: BCL:0;ARA:14566002|12121999013|9400799043|19110799012|23021999003|15080799012|12050799012|461199028|8060799015|5072599009|1602099012|40105399003|52005399003|3412199025|440099028|4302099013|10035399007|26104999006; X-Microsoft-Antispam-Message-Info: =?utf-8?B?T1VDcG9Ubmxhd0J1cXIzOVFGR1V2VEZQVDN0Yy92blhVOXRZT3J1Y0VYSSt3?= =?utf-8?B?NXlRTnVENkdKc0l3ZmQ1YXBjYVFyY2psSVRJT1VYQUhWbVZtelJrVnZMZWx1?= =?utf-8?B?cDlva0laSDF6K2tsOEk1VGJzdTU5eFJIbVY1UWc5Tms0aGhrZnhtN0NRTnBV?= =?utf-8?B?MjFhUEo3eHhHYm5zL2EwdStJMHVPRVUyakIvbzRmWnNVQkNsZ1VMdmlqL3BZ?= =?utf-8?B?Yy9SbGlqT1UyRktvcWdHUHZjeS9tQWExVW8rK1lXQTRIL3NTWFdyK29iei94?= =?utf-8?B?M09VN000bW1nSDU5YmpuQUFHRDVJTzhBOWsrSGY2MVdRbUZ0V1BmRjlHZVZ6?= =?utf-8?B?NURFbEI2d0c3SjNGQk5oRjVLVk8vVUFHOUhpOVlObmd2TFh4SGF0OW5iUnRa?= =?utf-8?B?anhWaEd3d0tJM0RFRDZHbzJycWlhNVRVZXRIV3h1UkFNVmdXaldSRURXeXJl?= =?utf-8?B?Y1pNb1lNYzVpY0xncHZGRitpN251Um5IbU5oaE9IajJxYVY3cWZXY3BSemlN?= =?utf-8?B?N0VWRVZlOWVweUYyNUFKSkxUZnRVR05VWWhvbWVyNUUrbE9JTE15Wk9QQTlS?= =?utf-8?B?R0lpNmhMeVQ4U3ZrbG9vTHlqaEk0NEtzYlpuNVlnQ3BUL1haNjdXc25oRnpo?= =?utf-8?B?aWMrVis0RkRDWDJtWUFwS0V3ZkhzclVtZytsRzZTZVk1OWlaVzdKdmNTMnVB?= =?utf-8?B?bk5heTRtemVMYmZhK3M5OFFYWVpqdlFYeXpZMWVCQVB0RGtGcmJ3UkEyakY5?= =?utf-8?B?ekRidWYrZXJsVStGRjhFUHE2VlZhc0hGTUVGS3djaEcyRy9qNDJtcU1FM0tk?= =?utf-8?B?dXpSbWpGbUZTSjkwWmNhNENzRGpGZUplQ2xMNmdjOTVnKzFvaVUyV2V2Rzll?= =?utf-8?B?eTFjMlp1OEZJSVBpRDdkK0krbE9WT3N5ZU1HNjhRNzk3eUI0Nk5qUzhCQk1x?= =?utf-8?B?YkgxYWFKTnNUNE1tV3BaVDczL3VqdlVFMm01SFNuaElQU2YzK0hqc0NxZC9U?= =?utf-8?B?SGorMldKSmNhSmRhRytHNmVBS0hhdmI2cmlUalprMi9pbmFlTkNnWmdldXVu?= =?utf-8?B?dVFuNWo1ZFhUY241RHFEaDA4TnVoMGluZENya1ltSkszbFpTbzhYcmFRazdh?= =?utf-8?B?MnFTSlVQeFFWU3B3bDZJZDhRVFgwS1JxTXlHUjAvUnpOSWw4NkZsZmpqRzFY?= =?utf-8?B?U0tYaWZLN0xXT2VvK3ovcGVzaERoam5URHpJOGdSVjkwOEkrckhweHBYRGht?= =?utf-8?B?RmI4b3ZQVWEzUm1SRUY3RkJvQlBiQ1VTaXZYT1JqQ3UwY2ZJKzBUUFRlbW54?= =?utf-8?B?QW9NZDNtTW44cWI3ZjRtRjBaQkZhUHpzeFl0SUMvZDZlRUF3QVR3YkNFc0t6?= =?utf-8?B?ekwwVjkyQWZmNndXZjFsZlNZVjl4WHhIK3NnSG5yQ1ZDc2tCOTVXOFA4OUw2?= =?utf-8?B?QVdKbCt4cWUzTlVkTnVtandiYlNOYWhLY1M5TGxSbUZPL0psMWh0TlRXRy9m?= =?utf-8?Q?X8Gy+8=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K3VMZEt3MmR3WFoxYU4wdThsUVF1MHA0RFRjeDFtdnhiNEplRFNwd3IrVEpl?= =?utf-8?B?T2VLc3p3ZTU4UEZXREJjR0RCdldVeHZxVjB6V2JBMytJSkkyUmNMbUYxekI2?= =?utf-8?B?Q0k1SWlaQ3daV0VSZXREUm5DaitXNGRZMXYxU3lxdVdTQmFOOHdmMUx4WnIr?= =?utf-8?B?NWc5akpuaklWTmRKdFR5NmRMQjFEWkYyMHdMZzJGZjFkRW5jYVR1SVV5Y0gv?= =?utf-8?B?VERxRXBjK2pHdzVLTGtWTHJhOGpkQzlZd1pxejRkNnBCSWJVVW8zalJwWDBq?= =?utf-8?B?KzNnSzllYmxyYThrTDFpQWJ3WWJwZU5mVXhZUEpKNWdiMFVEODlpeDZuUkIz?= =?utf-8?B?cStTL2FTa1pNL1ZaY0FxTlh6bnp0UE1PUnVNcEJBdXhvMDA1NlprOVVQd0x0?= =?utf-8?B?ZGlNdE0xZnM5LytFd1F1c2J5b3VsclZHTzlDT0NyeVhVTFhUREFsVGY4TDFm?= =?utf-8?B?ZWdVL2NHTW1ZcDF3K3FNWit1N3J1b0V4V3B4N0J3bk9BQnJHMkhNckg2cG0r?= =?utf-8?B?Mms0VjZWdldERnA1RDJwMHhMWWpOUGZPWEppOThlWGZ4OUYxL3ZqS3JKSXpa?= =?utf-8?B?bVV3TzIwQVFKcU82SFBmM2VJbE9QQkZXbWhzbkF1K2dWYjQ4WmVidk8wYVlv?= =?utf-8?B?VzlLenUrQWVmVXhucFFIRTJ3aG9KSnJBY3pLRlRKVm9LcFQyUDM0Nk10ZVZq?= =?utf-8?B?dnJTSTRvT21mdHhyTEtsTitCSUt2a2k5SjRkMnJnelQveDIwbGZra0xhakIx?= =?utf-8?B?MVFpbllnN1ZtckRPend5b08yWnFGV1ZldUFCZUw3Yk11UlMvZVF4KytHN2pS?= =?utf-8?B?enFoUGJuRUJTaGJlS04zVWJnT2tRSlNVVUlxV25relNaOU02bEgvTGQ1Sm9l?= =?utf-8?B?UUZYTWdMUFRSS3VTL0dwTUhwWDZnTTdVMjRXRmlNcXZQUFdiUmx3UVdrM24v?= =?utf-8?B?Rk5sZFU0djFaUEwxbW9WaGlLbnZ6REsrVWp0cHpaSmtGRDVoVllXbW11bWI5?= =?utf-8?B?anBkcDVLeCtCQkZGeEM2MStpSWdoWjl6VDJJWko5TkV4S0VBZ2JSQnZUWjBi?= =?utf-8?B?b1h6cDlPQ2gvelhVMzJvN1pVUDMxZ1JwL01VaVNYK05tKzFRZ1FuRDJoN290?= =?utf-8?B?NmhUU013ZVlpUWEyMGVKd2huc0pXTzlwWEtjREdmblo3VG1BQTdSUUVJcDRi?= =?utf-8?B?czl3VlcwTnVETStOcDRoNXBKTXRaaC9sSlIycHJYL2cxS0Y0aTNTaGpsREg3?= =?utf-8?B?eWpHNXBTTTIvYnFUdWczSDNIYUFkZEU0bS8xcDIzenFvSi92VEJ5S2lZREZ2?= =?utf-8?B?aVJXYnF4cG5EVHkwdSsrT3g3VG0wT2tJcFhwdXZRV21wRzVteVRRQnFoODFp?= =?utf-8?B?RW0xVURCa2pya204QjNmcHY5enJUVVNkZ2ZIVVRRak93SzVGS1dnelcwU1Fh?= =?utf-8?B?ZVExejFuc0lIWFM1SjY0WEllVUVseTB5YVJwWUQyQWZnOW53TzJ6ckFHbURw?= =?utf-8?B?VTZPK05BUmUzNDR1RkNyRVg1bzFsVkEwRG9WU1B4VWE4ZDVnNGhXZ0g0RXRq?= =?utf-8?B?ZXNETjZLMndFeVAxM1RSVU1TdG5KdHloRUxqNXlVSmdpQlB3Wm44S2EwWWxz?= =?utf-8?B?ZFhTN1FoZFRpTy91TnlPdVpFaVVxb25SampQY0FPL0JtcVJNSTBnQ21kN3lw?= =?utf-8?B?ejEyOHlUUll5Mko5M2JHREo2dXNUeXVvQ1c5cWE2Ymx2RlpOZjU4RTRJanZB?= =?utf-8?B?YVBqR0lGYnZqVUlzNnJVOXF5R1M0YmpwblRLVm84d01nWkFxNW03clRacjFs?= =?utf-8?B?aStNMjRzK3BWZlhXVGRFYXJHZGdPMkdTeXpTMVZQY3djU1RYdW1TVDJnWmNE?= =?utf-8?B?QStuUDJqY3ZaZEVSSlNPZ09memRYRGpybmVaWWJONnZBUGNSdDVYeW11WEt2?= =?utf-8?Q?Ms7W0i9yM0BknXJ98wcTm+S9INo/IWO4?= X-OriginatorOrg: sct-15-20-9412-4-msonline-outlook-6108c.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 61911574-0afb-415c-0259-08de761ca36c X-MS-Exchange-CrossTenant-AuthSource: AM8P250MB0170.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2026 16:24:11.4294 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1P250MB0555 From: bobwei9@hotmail.com (Bob Weinand) --------------p5WEtyIyG9yAblxoJFgf6hjT Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hey Carlos, On 27.2.2026 14:31:16, Barel wrote: > Hi everyone, > > This is to announce the opening of the vote for the Prefix and Suffix > Functions RFC > > RFC: https://wiki.php.net/rfc/prefix_suffix_functions > Discussion thread: https://news-web.php.net/php.internals/129842 > > The vote will be open for 2 weeks (and a few hours), closing on March > 13th at midnight UTC. > > Cheers > > Carlos I like this RFC very much. I think every addition to the standard library needs to be well considered, but this one definitely crosses the bar. Simple prefix and suffix operations are quite common - especially in scripting and manipulation of well-known strings. While you certainly can write these with substr, it often either duplicates the string for the length or just hardcodes the length, both of which are equally ugly. Sure, users can write helper functions for these, but I find below a certain size, users typically don't. Thus I think this proposed change will lead to simpler and less error-prone code. Bob --------------p5WEtyIyG9yAblxoJFgf6hjT Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hey Carlos,

On 27.2.2026 14:31:16, Barel wrote:
Hi everyone,

This is to announce the opening of the vote for the Prefix and Suffix Functions RFC

RFC: https://wiki.php.net/rfc/prefix_suffix_functions
Discussion thread: https://news-web.php.net/php.internals/129842

The vote will be open for 2 weeks (and a few hours), closing on March
13th at midnight UTC.

Cheers

Carlos


I like this RFC very much. I think every addition to the standard library needs to be well considered, but this one definitely crosses the bar.

Simple prefix and suffix operations are quite common - especially in scripting and manipulation of well-known strings.


While you certainly can write these with substr, it often either duplicates the string for the length or just hardcodes the length, both of which are equally ugly.
Sure, users can write helper functions for these, but I find below a certain size, users typically don't.

Thus I think this proposed change will lead to simpler and less error-prone code.


Bob

--------------p5WEtyIyG9yAblxoJFgf6hjT--