Как се игнорират числа от стринг в PHP?

tnewuser

Registered
Не знам дали правилно се изразих, но ще поясна:

Имам стринг от някакви числа 1,2,3,4,5,6,7,8...
Искам 2 от тези числа примерно 2 и 4 да ги игнорирам въпроса, е че стринга е от колона в таблица в mysql и от там се извиква и после целия стринг е направен да се изобразява в/у <table> </table>.

Та искам да знам, как да игнорирам/не изкарвам 2-рото и 4-тото число в тази таблица?


Ако може някакъв пример ще съм много благодарен.
 
Един прост one-liner:

PHP:
join(",", array_diff(explode(",", $string), $digits));

За удобство си го врапваш във функция:

PHP:
function removeDigits($string, array $digits) {
	return join(",", array_diff(explode(",", $string), $digits));
}

Която използваш навсякъде, където ти трябва, по този начин:

PHP:
$str = "1,2,3,4,5,6";
$ignore = [1, 4, 5];

$new_string = removeDigits($str, $ignore);

Demo
 
PHP:
<?php

$string = '5,3,9,7,8,6,4,2';
$remove = array( 2, 4 );

$digits = explode( ',', $string );

$items = count( $digits );
$output = '';
$count = 1;

foreach( $digits as $key => $value ) {
if ( ! in_array( $key + 1, $remove ) ) {
$output .= $value;
if ( $items !== $count ) {
$output .= ',';
}
}
++$count;
}

echo( $output );

?>
 

Back
Горе