Comment puis-je détecter si une chaîne se termine par des valeurs à l'intérieur d'une matrice?
array('.1.jpg','.2.jpg','.3.jpg','.4.jpg','.5.jpg','.6.jpg','.7.jpg','.8.jpg','.9.jpg');
3 Réponses :
Si vous devez utiliser toutes les périodes de la chaîne, alors obtenez tout à partir de la première période à la fin et voyez s'il est dans le tableau:
if(in_array(strstr($string, '.'), $array)) {
//yes
}
if (in_array(substr($string, -6), $array)) {
//yes
}
As all your examples have the exact same length. No REGEX or replacement required.
OP a dit que cela peut être que, pas que cela correspondait. Ce n'est pas dans le tableau.
La magie -6 code> est la partie qui brise cette réponse (le rend incorrect / inapproprié).
@MickMackusa: Pourriez-vous expliquer cette notion?
Une bonne solution, qui vous donne aussi l'indice trouvé dans la matrice: pour l'utiliser comme décrit dans votre question: p> if (endsBy($myString, $array) !== null) {
...
}
Preg_Match ('/ \. [1-9] \. JPG $ /', $ string) code>@Alexhowansky simple et efficace. Merci!
@ALEX S'il vous plaît ne ruine pas délibérément la conception de sites en fournissant des solutions en tant que commentaires. Cela conduit à la question de l'abandon et des volontaires qui répondent ne sont pas récompensés par l'OP.
@BPY sont vos exigences littérales / rigides que les valeurs numériques sont toujours un chiffre à un seul chiffre ou que la liste des chaînes contient deux chiffres consécutifs? À quoi ressemble vos données réalistes? Vous devriez probablement également travailler sur "Taux d'acceptation de réponse". Un rapide coup d'œil sur les questions de votre profil révèle que pas beaucoup de votre Wuestion sont marqués comme résolus - ce n'est pas génial pour les volontaires qui vous donnent leur temps et leur identité.
Avez-vous abandonné ???
@AbracAdaver Non, j'ai réglé mon problème en suivant la solution fournie sur le commentaire d'Alex Howansky. Mais je remercie vos préoccupations.
Peut-être poster cela comme réponse et acceptez-le.